JNIEXPORT jint JNICALL
Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkEntryGetBorderWidth
  (JNIEnv *env, jobject obj)
{
  void *ptr;
  int border_width = 0;

  ptr = NSA_GET_PTR (env, obj);

  gdk_threads_enter ();

  border_width = get_border_width (GTK_WIDGET (ptr));

  gdk_threads_leave ();

  return border_width;
}
JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_create
  (JNIEnv *env, jobject obj, jint text_width)
{
  GtkWidget *entry;

  /* Create global reference and save it for future use */
  NSA_SET_GLOBAL_REF (env, obj);

  gdk_threads_enter ();

  entry = gtk_entry_new ();
  gtk_widget_set_size_request (entry,
			       text_width + 2 * get_border_width (entry), -1);

  gdk_threads_leave ();

  NSA_SET_PTR (env, obj, entry);
}
Example #3
0
  void ButtonBox::v_rearrange_children()
  {
#ifdef NDEBUG
    testInvariant(TEST_EXPANDABLE_VISIBLE_COUNT);
#endif

    ProxyContainer proxy_container(*this);

    if(is_custom_size_request())
    {
      int a, b;
      on_size_request(a,b);
    }

    if(_n_visible_children==0)
      return;

    Real inv_childrens_size_request = 1.f/Real(_expandable_childrens_size_request);
    Real additional_size = MAX(0.f, Real(proxy_container.get_height() - proxy_container.get_children_size_request_height()));
    Real single_space = additional_size;
    int x_pos;

    int max_child_w;
    int max_child_h;

    if(get_is_horizontal())
    {
      max_child_w = MAX(_max_child_height, _max_child_height);
      max_child_h = MAX(_max_child_width, _max_child_width);
    }else
    {
      max_child_w = MAX(_max_child_width, _max_child_width);
      max_child_h = MAX(_max_child_height, _max_child_height);
    }

    Real cursor  = get_border_width();

    ButtonBoxStyle l = get_layout();
    switch(get_layout())
    {
    case BUTTONBOX_EDGE:
      single_space = additional_size / Real(_n_visible_children-1);
      break;
    case BUTTONBOX_START:
      break;
    case BUTTONBOX_END:
      cursor  += additional_size;
      break;
    case BUTTONBOX_CENTER:
      cursor  += additional_size*0.5f;
      break;
    case BUTTONBOX_SPREAD:
    default:
      single_space = additional_size / Real(_n_visible_children+1);
    }

    x_pos = MAX(get_border_width(), (proxy_container.get_width()-max_child_w)/2);

    int i=0;

    for(BoxChildContainerList::iterator iter = _start_children.begin(); iter!=_end_children.end();)
    {
      if(iter==_start_children.end())
      {
        iter  = _end_children.begin();
        continue;
      }

      g_assert(iter->child);
      g_assert(iter->child->get_size_request_width()>=0);
      g_assert(iter->child->get_size_request_height()>=0);

      ProxyChild child(*this, *iter->child);

      if(iter->child->is_visible())
      {
        switch(get_layout())
        {
        case BUTTONBOX_EDGE:
          break;
        case BUTTONBOX_START:
        case BUTTONBOX_END:
        case BUTTONBOX_CENTER:
          break;
        case BUTTONBOX_SPREAD:
        default:
          cursor  += single_space;
          cursor  += get_spacing();
        }

        child.set_allocation(x_pos, round(cursor), max_child_w, max_child_h);
        cursor  += max_child_h;

        switch(get_layout())
        {
        case BUTTONBOX_EDGE:
          cursor  += single_space;
          cursor  += get_spacing();
          break;
        case BUTTONBOX_START:
        case BUTTONBOX_END:
        case BUTTONBOX_CENTER:
          cursor  += get_spacing();
          break;
        case BUTTONBOX_SPREAD:
        default:
          break;
        }

        ++i;
      }
      ++iter;
    }
  }