예제 #1
0
파일: testcandles.c 프로젝트: 2tim/gtkextra
GtkWidget *
new_layer(GtkWidget *canvas)
{
 gchar label[10];
 GtkRequisition req;
 gint size;

 nlayers++;

 buttons = (GtkWidget **)g_realloc(buttons, nlayers * sizeof(GtkWidget *));
 plots = (GtkWidget **)g_realloc(plots, nlayers * sizeof(GtkWidget *));

 sprintf(label, "%d", nlayers);
 
 buttons[nlayers-1] = gtk_toggle_button_new_with_label(label);
/* gtk_button_set_relief(GTK_BUTTON(buttons[nlayers-1]), GTK_RELIEF_NONE);
*/
 gtk_widget_size_request(buttons[nlayers-1], &req);
 size = MAX(req.width,req.height);
 gtk_widget_set_size_request(buttons[nlayers-1], size, size);
 gtk_fixed_put(GTK_FIXED(canvas), buttons[nlayers-1], (nlayers-1)*20, 0);
 gtk_widget_show(buttons[nlayers-1]);

 g_signal_connect(GTK_OBJECT(buttons[nlayers-1]), "toggled",
                    (void *) activate_plot, canvas);

 plots[nlayers-1] = gtk_plot_new_with_size(NULL, .5, .25);
 gtk_widget_show(plots[nlayers-1]);

 activate_plot(buttons[nlayers-1],canvas);

 return plots[nlayers-1];
}
예제 #2
0
파일: icon-grid.c 프로젝트: hsgg/lxpanel
/* Add an icon grid element and establish its initial visibility. */
void icon_grid_add(IconGrid * ig, GtkWidget * child, gboolean visible)
{
    /* Create and initialize a structure representing the child. */
    IconGridElement * ige = g_new0(IconGridElement, 1);
    ige->ig = ig;
    ige->widget = child;
    ige->visible = visible;

    /* Insert at the tail of the child list.  This keeps the graphics in the order they were added. */
    if (ig->child_list == NULL)
        ig->child_list = ige;
    else
    {
        IconGridElement * ige_cursor;
        for (ige_cursor = ig->child_list; ige_cursor->flink != NULL; ige_cursor = ige_cursor->flink) ;
        ige_cursor->flink = ige;
    }

    /* Add the widget to the layout container. */
    if (visible)
        gtk_widget_show(ige->widget);
    gtk_fixed_put(GTK_FIXED(ig->widget), ige->widget, 0, 0);
    g_signal_connect(G_OBJECT(child), "size-request", G_CALLBACK(icon_grid_element_size_request), (gpointer) ige);

    /* Do a relayout. */
    icon_grid_demand_resize(ig);
}
예제 #3
0
int main (int argc, char *argv[]) {
  
  GtkWidget *window;
  GtkWidget *fixed;
  GtkWidget *button;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "GtkButton");
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);

  fixed = gtk_fixed_new();
  gtk_container_add(GTK_CONTAINER(window), fixed);

  button = gtk_button_new_with_label("Click");
  gtk_fixed_put(GTK_FIXED(fixed), button, 50, 50);
  gtk_widget_set_size_request(button, 80, 35);
  
  // Two signals: clicked and destroy
  g_signal_connect(G_OBJECT(button), "clicked",
		   G_CALLBACK(button_clicked), NULL);

  g_signal_connect(G_OBJECT(window), "destroy",
		   G_CALLBACK(gtk_main_quit), NULL);

  gtk_widget_show_all(window);
  gtk_main();

  return 0;
}
예제 #4
0
void button_init(void)
{
  play_button=gtk_button_new_with_label("Play!");
  gtk_widget_set_size_request(play_button, button_width, button_height);
  gtk_fixed_put(GTK_FIXED(launcher_container), play_button, (launcher_width/2)-(button_width/2), (launcher_height/2)-(button_height/2));
  g_signal_connect_swapped(play_button, "clicked", G_CALLBACK(exec_gnome_terminal), NULL);
}
예제 #5
0
void ProgressBar::create(Window &parent, unsigned x, unsigned y, unsigned width, unsigned height) {
  object->widget = gtk_progress_bar_new();
  widget->parent = &parent;
  gtk_widget_set_size_request(object->widget, width, height);
  gtk_fixed_put(GTK_FIXED(parent.object->formContainer), object->widget, x, y);
  gtk_widget_show(object->widget);
}
예제 #6
0
파일: glide-window.c 프로젝트: racarr/Glide
static void
glide_window_fixed_embed_size_allocate (GtkWidget *widget,
					GtkAllocation *allocation,
					gpointer user_data)
{
  GlideWindow *w = (GlideWindow *)user_data;
  gint width, height;
  
  if (w->priv->document)
    glide_document_get_size (w->priv->document, &width, &height);
  else
    {
      width = DEFAULT_PRESENTATION_WIDTH;
      height = DEFAULT_PRESENTATION_HEIGHT;
    }

  if (allocation->width != w->priv->lfw ||
      allocation->height != w->priv->lfh)
    {
      gtk_fixed_move (GTK_FIXED (widget), w->priv->embed,
		      (allocation->width-width)/2.0,
		      (allocation->height-height)/2.0);
      w->priv->lfw = allocation->width;
      w->priv->lfh = allocation->height;
    }
}
예제 #7
0
파일: interface.c 프로젝트: 54chen/MyNet
GtkWidget*
create_window3 (void)
{
    GtkWidget *window3;
    GdkPixbuf *window3_icon_pixbuf;
    GtkWidget *fixed3;
    GtkWidget *label5;

    window3 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request (window3, 236, 122);
    gtk_window_set_title (GTK_WINDOW (window3), _("\346\263\250\345\206\214\350\277\233\350\241\214\344\270\255"));
    gtk_window_set_resizable (GTK_WINDOW (window3), FALSE);
    window3_icon_pixbuf = gdk_pixbuf_new_from_xpm_data((gchar **)connecting_xpm);
    if (window3_icon_pixbuf)
    {
        gtk_window_set_icon (GTK_WINDOW (window3), window3_icon_pixbuf);
        gdk_pixbuf_unref (window3_icon_pixbuf);
    }

    fixed3 = gtk_fixed_new ();
    gtk_widget_show (fixed3);
    gtk_container_add (GTK_CONTAINER (window3), fixed3);

    label5 = gtk_label_new (_("\346\263\250\345\206\214\350\277\233\350\241\214\344\270\255\357\274\214\350\257\267\347\250\215\345\200\231\343\200\202\343\200\202\343\200\202"));
    gtk_widget_show (label5);
    gtk_fixed_put (GTK_FIXED (fixed3), label5, 24, 40);
    gtk_widget_set_size_request (label5, 200, 32);

    /* Store pointers to all widgets, for use by lookup_widget(). */
    GLADE_HOOKUP_OBJECT_NO_REF (window3, window3, "window3");
    GLADE_HOOKUP_OBJECT (window3, fixed3, "fixed3");
    GLADE_HOOKUP_OBJECT (window3, label5, "label5");

    return window3;
}
예제 #8
0
파일: main.c 프로젝트: cherry-wb/quietheart
void make_cancel_button(GtkWidget *fixed_base)
{
	GtkWidget *fixed;
	GtkWidget *event_box;
	GtkWidget *label;

	fixed = fixed_base;

	label = gtk_label_new(cancel_text);
	gtk_widget_set_size_request(label, cancel_label_width, cancel_label_height);
	gtk_widget_show(label);

	GdkColor white = {0, 65535, 65535, 65535};
	GtkRcStyle *rc_style = gtk_rc_style_new ();
	rc_style->fg[GTK_STATE_NORMAL] = white;
	rc_style->color_flags[GTK_STATE_NORMAL] |= GTK_RC_FG;
	gtk_widget_modify_style(label, rc_style);
	gtk_rc_style_unref(rc_style);

	event_box = gtk_event_box_new();
	gtk_container_add(GTK_CONTAINER(event_box), label);
	gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box), FALSE);
	gtk_widget_show(event_box);
	g_signal_connect(G_OBJECT(event_box), "enter_notify_event",
						G_CALLBACK(cancel_enter), NULL);
	g_signal_connect(G_OBJECT(event_box), "leave_notify_event",
						G_CALLBACK(cancel_leave), NULL);
	g_signal_connect(G_OBJECT(event_box), "button_press_event",
						G_CALLBACK(cancel_press), NULL);

	gtk_widget_show(event_box);
	gtk_fixed_put(GTK_FIXED(fixed), event_box, cancel_label_pos_x, cancel_label_pos_y);
}
예제 #9
0
int main (int argc, char *argv[]) {
  
  GtkWidget *window;
  GtkWidget *fixed;
  GtkWidget *button;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
  gtk_window_set_title(GTK_WINDOW(window), "enter signal");

  fixed = gtk_fixed_new();
  gtk_container_add(GTK_CONTAINER(window), fixed);

  button = gtk_button_new_with_label("Button");
  gtk_widget_set_size_request(button, 80, 35);
  gtk_fixed_put(GTK_FIXED(fixed), button, 50, 50);

  // call the enter_button() user button when the enter signal occurs
  g_signal_connect(G_OBJECT(button), "enter",
		   G_CALLBACK(enter_button), NULL);

  g_signal_connect_swapped(G_OBJECT(window), "destroy",
			   G_CALLBACK(gtk_main_quit), G_OBJECT(window));

  gtk_widget_show_all(window);
  gtk_main();

  return 0;
}
예제 #10
0
파일: win_gtk.cpp 프로젝트: jonntd/dynamica
GtkWidget* wxPizza::New(long windowStyle,void* owner)
{
    GtkWidget* widget = GTK_WIDGET(g_object_new(type(), NULL));
    wxPizza* pizza = WX_PIZZA(widget);
    pizza->m_owner = owner;
    pizza->m_backing_window = NULL;
    pizza->m_scroll_x = 0;
    pizza->m_scroll_y = 0;
    pizza->m_is_scrollable = (windowStyle & (wxHSCROLL | wxVSCROLL)) != 0;
    // mask off border styles not useable with wxPizza
    pizza->m_border_style = int(windowStyle & BORDER_STYLES);
    gtk_fixed_set_has_window(GTK_FIXED(widget), true);
    gtk_widget_add_events(widget,
        GDK_EXPOSURE_MASK |
        GDK_SCROLL_MASK |
        GDK_POINTER_MOTION_MASK |
        GDK_POINTER_MOTION_HINT_MASK |
        GDK_BUTTON_MOTION_MASK |
        GDK_BUTTON1_MOTION_MASK |
        GDK_BUTTON2_MOTION_MASK |
        GDK_BUTTON3_MOTION_MASK |
        GDK_BUTTON_PRESS_MASK |
        GDK_BUTTON_RELEASE_MASK |
        GDK_KEY_PRESS_MASK |
        GDK_KEY_RELEASE_MASK |
        GDK_ENTER_NOTIFY_MASK |
        GDK_LEAVE_NOTIFY_MASK |
        GDK_FOCUS_CHANGE_MASK);
    return widget;
}
예제 #11
0
파일: viewport.cpp 프로젝트: gilligan/bsnes
void Viewport::create(Window &parent, unsigned x, unsigned y, unsigned width, unsigned height) {
  object->widget = gtk_drawing_area_new();
  gtk_widget_set_double_buffered(object->widget, false);
  gtk_widget_set_size_request(object->widget, width, height);
  gtk_fixed_put(GTK_FIXED(parent.object->formContainer), object->widget, x, y);
  gtk_widget_show(object->widget);
}
예제 #12
0
	static void _GuiWindow_child_resizeCallback (GtkWidget *childWidget, gpointer data) {
		GtkAllocation *allocation = (GtkAllocation *) data;
		GtkWidget *parentWidget = gtk_widget_get_parent (childWidget);
		Thing_cast (GuiThing, child, _GuiObject_getUserData (childWidget));
		if (child) {
			GuiControl control = NULL;
			if (Thing_isa (child, classGuiControl)) {
				control = static_cast <GuiControl> (child);
			} else if (Thing_isa (child, classGuiMenu)) {
				Thing_cast (GuiMenu, menu, child);
				control = menu -> d_cascadeButton;
			}
			if (control) {
				/*
				 * Move and resize.
				 */
				trace (U"moving child of class ", Thing_className (control));
				int left = control -> d_left, right = control -> d_right, top = control -> d_top, bottom = control -> d_bottom;
				if (left   <  0) left   += allocation -> width;   // this replicates structGuiControl :: v_positionInForm ()
				if (right  <= 0) right  += allocation -> width;
				if (top    <  0) top    += allocation -> height;
				if (bottom <= 0) bottom += allocation -> height;
				trace (U"moving child to (", left, U",", top, U")");
				gtk_fixed_move (GTK_FIXED (parentWidget), GTK_WIDGET (childWidget), left, top);
				gtk_widget_set_size_request (GTK_WIDGET (childWidget), right - left, bottom - top);
				trace (U"moved child of class ", Thing_className (control));
			}
		}
	}
예제 #13
0
void VLGbutton::moveTo(int nx,int ny) {
    if (parent)	{
        gtk_fixed_move (GTK_FIXED (((VLGform*)parent)->fixed), widget, nx, ny);
        x=nx;
        y=ny;
    }
}
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeBounds
  (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
{
  GtkWidget *widget;
  void *ptr;

  ptr = NSA_GET_PTR (env, obj);

  gdk_threads_enter ();

  widget = GTK_WIDGET (ptr);

  /* We assume that -1 is a width or height and not a request for the
     widget's natural size. */
  width = width < 0 ? 0 : width;
  height = height < 0 ? 0 : height;

  if (!(width == 0 && height == 0))
    {
      /* Set the event box's size request... */
      gtk_widget_set_size_request (widget, width, height);
      /* ...and the label's size request. */
      gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (widget)),
                                   width, height);

      if (widget->parent != NULL)
        gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y);
    }

  gdk_threads_leave ();
}
예제 #15
0
int main(int argc, char **argv)
{
    GtkWidget *window;
    GtkWidget *fixed;
    GtkWidget *button;
    gint i;

    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window), "Fixed Container");
    g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
    gtk_container_set_border_width(GTK_CONTAINER(window), 10);

    fixed = gtk_fixed_new();
    gtk_container_add(GTK_CONTAINER(window), fixed);
    gtk_widget_show(fixed);

    for(i=1; i<=3; i++)
    {
        button = gtk_button_new_with_label("Press me");
        g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(move_button), fixed);
        gtk_fixed_put(GTK_FIXED(fixed), button, i*50, i*50);
        gtk_widget_show(button);
    }

    gtk_widget_show(window);
    gtk_main();
    
    return 0;
}
예제 #16
0
파일: fixed.c 프로젝트: dimkr/gtk
/* This callback function moves the button to a new position
 * in the Fixed container. */
void move_button( GtkWidget *widget,
                  GtkWidget *fixed )
{
  x = (x+30)%300;
  y = (y+50)%300;
  gtk_fixed_move( GTK_FIXED(fixed), widget, x, y); 
}
예제 #17
0
GtkWidget* wxPizza::New(long windowStyle)
{
    GtkWidget* widget = GTK_WIDGET(g_object_new(type(), NULL));
    wxPizza* pizza = WX_PIZZA(widget);
    pizza->m_scroll_x = 0;
    pizza->m_scroll_y = 0;
    pizza->m_is_scrollable = (windowStyle & (wxHSCROLL | wxVSCROLL)) != 0;
    // mask off border styles not useable with wxPizza
    pizza->m_border_style = int(windowStyle & BORDER_STYLES);
#if GTK_CHECK_VERSION(3,0,0) || defined(GTK_DISABLE_DEPRECATED)
    gtk_widget_set_has_window(widget, true);
#else
    gtk_fixed_set_has_window(GTK_FIXED(widget), true);
#endif
    gtk_widget_add_events(widget,
        GDK_EXPOSURE_MASK |
        GDK_SCROLL_MASK |
        GDK_POINTER_MOTION_MASK |
        GDK_POINTER_MOTION_HINT_MASK |
        GDK_BUTTON_MOTION_MASK |
        GDK_BUTTON1_MOTION_MASK |
        GDK_BUTTON2_MOTION_MASK |
        GDK_BUTTON3_MOTION_MASK |
        GDK_BUTTON_PRESS_MASK |
        GDK_BUTTON_RELEASE_MASK |
        GDK_KEY_PRESS_MASK |
        GDK_KEY_RELEASE_MASK |
        GDK_ENTER_NOTIFY_MASK |
        GDK_LEAVE_NOTIFY_MASK |
        GDK_FOCUS_CHANGE_MASK);
    return widget;
}
예제 #18
0
void CalendarDatePrivate::initMonthView() {
    GtkWidget* swipebox = NULL;
    int row = 0;
    int col = 0;
    int rowCount = 3;
    int colCount = 4;
    GDateTime* nowDate = g_date_time_new_now_local();
    int selectedYear = m_selectedYear;
    int cellWidth = MAIN_BOX_DEFAULT_WIDTH / colCount;
    int cellHeight = MAIN_BOX_DEFAULT_WIDTH / rowCount;

    m_swipeBox[VIEWTYPE_MONTH] = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
    swipebox = m_swipeBox[VIEWTYPE_MONTH];

    gtk_fixed_put(GTK_FIXED(m_mainBox), GTK_WIDGET(m_swipeBox[VIEWTYPE_MONTH]), 0, 0);
    gtk_widget_set_name(GTK_WIDGET(swipebox), "calendar-table");

    GDateTime* selectedDate = g_date_time_new_local(m_selectedYear, m_selectedMonth, m_selectedDayOfMonth, 1, 1, 1);
    gchar* dateLabelText = g_date_time_format(selectedDate, C_("calendar heading", "%Y"));
    gtk_button_set_label(GTK_BUTTON(m_viewTypeSwitch), dateLabelText);
    g_date_time_unref(selectedDate);
    g_free(dateLabelText);

    for (row = 0; row < rowCount; ++row) {
        GtkWidget* monthlayout = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
        for (col = 0; col < colCount; ++col) {
            int index = row * colCount + col;
            m_monthItem[index] = new CalendarItem(ITEMTYPE_MONTH, index + 1);
            m_monthItem[index]->setOnClickedListener(this);
            m_monthItem[index]->setSize(cellWidth, cellHeight);
            m_monthItem[index]->setParent(GTK_WIDGET(monthlayout));
        }
        gtk_box_pack_start(GTK_BOX(swipebox), GTK_WIDGET(monthlayout), TRUE, TRUE, 0);
    }
}
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent
  (JNIEnv *env, jobject obj, jobject parent)
{
  void *ptr;
  void *parent_ptr;
  GtkWidget *widget;
  GtkWidget *parent_widget;

  gdk_threads_enter ();

  ptr = gtkpeer_get_widget (env, obj);
  parent_ptr = gtkpeer_get_widget (env, parent);
  
  widget = GTK_WIDGET (ptr);
  parent_widget = get_widget(GTK_WIDGET (parent_ptr));

  if (widget->parent == NULL)
    {
      if (GTK_IS_WINDOW (parent_widget))
	{
	  GList *children = gtk_container_get_children
	    (GTK_CONTAINER (parent_widget));

          if (GTK_IS_MENU_BAR (children->data))
            gtk_fixed_put (GTK_FIXED (children->next->data), widget, 0, 0);
          else
            gtk_fixed_put (GTK_FIXED (children->data), widget, 0, 0);
        }
      else
        if (GTK_IS_SCROLLED_WINDOW (parent_widget))
          {
            gtk_scrolled_window_add_with_viewport 
              (GTK_SCROLLED_WINDOW (parent_widget), widget);
            gtk_viewport_set_shadow_type (GTK_VIEWPORT (widget->parent), 
                                          GTK_SHADOW_NONE);

          }
        else
          {
            if (widget->parent == NULL)
              gtk_fixed_put (GTK_FIXED (parent_widget), widget, 0, 0);
          }
    }

  gdk_threads_leave ();
}
예제 #20
0
파일: main.c 프로젝트: beto1014/eve-browser
void *GtkMain(void * argument)
{
    printf("%s:%d\n", __func__, __LINE__);

    int argc = 0;
    char**argv = NULL;

    unsigned char haveUrl = 0;
    int argCount = 0;

    gtk_init (&argc, &argv);
    if (!g_thread_supported ())
        g_thread_init (NULL);

    GtkWidget* fixed = gtk_fixed_new();
    //screen_changed(fixed, NULL, NULL);
    g_vbox = gtk_vbox_new (FALSE, 0);
    gtk_box_pack_start (GTK_BOX (g_vbox), create_toolbar (), FALSE, FALSE, 0);
    gtk_box_pack_start (GTK_BOX (g_vbox), GTK_WIDGET (create_browser ()), TRUE, TRUE, 0);
    gtk_box_pack_start (GTK_BOX (g_vbox), create_statusbar (), FALSE, FALSE, 0);

    g_window = create_window ();

    gtk_fixed_put(GTK_FIXED(fixed), g_vbox, 0, 0);
    gtk_widget_set_size_request(g_vbox, g_framebuffer_width, g_framebuffer_height);

    GtkWidget* statusLabel = gtk_label_new ("Status");
    gtk_fixed_put(GTK_FIXED(fixed), statusLabel, g_framebuffer_width - 200, 0);
    gtk_widget_set_size_request(statusLabel, 200, 100);

    gtk_container_add (GTK_CONTAINER (g_window), fixed);

    webkit_web_view_load_uri (g_web_view, g_url);

    gtk_widget_grab_focus (GTK_WIDGET (g_web_view));
    gtk_widget_show_all (g_window);

    toogleMode();

    g_default_scale = g_framebuffer_width / 1280.0f;
    handleZoomLock(0);

    g_Callback(1);

    gtk_main ();
    return NULL;
}
예제 #21
0
static void
cpaf_fixed_size_allocate (GtkWidget     *widget,
                          GtkAllocation *allocation)
{
    GtkFixed *fixed;
    GtkFixedChild *child;
    GtkAllocation child_allocation;
    GtkRequisition child_requisition;
    GList *children;
    guint16 border_width;

    fixed = GTK_FIXED (widget);

    widget->allocation = *allocation;

    if (!GTK_WIDGET_NO_WINDOW (widget))
    {
        if (GTK_WIDGET_REALIZED (widget))
            gdk_window_move_resize (widget->window,
                                    allocation->x,
                                    allocation->y,
                                    allocation->width,
                                    allocation->height);
    }

    border_width = GTK_CONTAINER (fixed)->border_width;

    children = fixed->children;
    while (children)
    {
        child = children->data;
        children = children->next;

        if (GTK_WIDGET_VISIBLE (child->widget))
        {
            gtk_widget_get_child_requisition (child->widget, &child_requisition);
            child_allocation.x = child->x + border_width;
            child_allocation.y = child->y + border_width;
            child_allocation.height = child->widget->allocation.height;
            child_allocation.width = child->widget->allocation.width;

            /* Ensure that the allocation is not smaller than the requisition (CHECKME:) */
            if (child_allocation.height < child_requisition.height)
                child_allocation.height = child_requisition.height;

            if (child_allocation.width < child_requisition.width)
                child_allocation.width = child_requisition.width;

            if (GTK_WIDGET_NO_WINDOW (widget))
            {
                child_allocation.x += widget->allocation.x;
                child_allocation.y += widget->allocation.y;
            }

            gtk_widget_size_allocate (child->widget, &child_allocation);
        }
    }

}
예제 #22
0
파일: main.cpp 프로젝트: Tiger66639/yarp
void add_enabled_joints(cartesianMover* cm, GtkWidget *vbox)
{
    GtkWidget *check= gtk_check_button_new_with_mnemonic ("test");
    gtk_fixed_put   (GTK_FIXED(vbox), check, 10, 0);
    gtk_widget_set_size_request     (check, 80, 50);
    gtk_toggle_button_set_active((GtkToggleButton*) check, true);
    //g_signal_connect (check, "clicked", G_CALLBACK (check_pressed),ENA[n]);
}
예제 #23
0
파일: button.cpp 프로젝트: gilligan/bsnes
void Button::create(Window &parent, unsigned x, unsigned y, unsigned width, unsigned height, const char *text) {
  object->widget = gtk_button_new_with_label(text);
  gtk_widget_set_size_request(object->widget, width, height);
  g_signal_connect_swapped(G_OBJECT(object->widget), "clicked", G_CALLBACK(Button_tick), (gpointer)this);
  if(parent.window->defaultFont) setFont(*parent.window->defaultFont);
  gtk_fixed_put(GTK_FIXED(parent.object->formContainer), object->widget, x, y);
  gtk_widget_show(object->widget);
}
예제 #24
0
파일: gfir.c 프로젝트: RoomArchitect/fir
static void activate(GtkApplication* app, 
                     gpointer        user_data)
{
    GtkWidget *window;
    GtkWidget *button;
    GtkWidget *button_rs;
    GtkWidget *button_box;
    GtkWidget *draw_area;
    GtkWidget *fixed_container;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW(window), "Five Son Chess");
    gtk_window_set_default_size(GTK_WINDOW(window), 900, 900);
    gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
   
    fixed_container = gtk_fixed_new();
    
    // Draw Area
    draw_area = gtk_drawing_area_new();
    gtk_widget_set_size_request(draw_area, CanvasWidth, CanvasWidth);
    g_signal_connect(draw_area, "draw", G_CALLBACK(draw_cb), NULL);
    g_signal_connect(draw_area, "configure-event", G_CALLBACK(configure_event_cb), NULL);
    gtk_widget_add_events(draw_area, GDK_BUTTON_PRESS_MASK);

    g_signal_connect(draw_area, "button_press_event", G_CALLBACK(PutPiece), draw_area);
    
    gtk_fixed_put(GTK_FIXED(fixed_container), draw_area, 0, 0);

    // Buttons
    button_box = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
    gtk_fixed_put(GTK_FIXED(fixed_container), button_box, CanvasWidth, 0);


    button = gtk_button_new_with_label("从头再来");
    g_signal_connect(button, "clicked", G_CALLBACK(init_cb), draw_area);
    button_rs = gtk_button_new_with_label("随机开局");
    g_signal_connect(button_rs, "clicked", G_CALLBACK(init_rs_cb), draw_area);
    gtk_container_add(GTK_CONTAINER(button_box), button);
    gtk_container_add(GTK_CONTAINER(button_box), button_rs);
    gtk_container_add(GTK_CONTAINER(window), fixed_container);

    gtk_widget_show_all(window);

    // Game starts here!
    InitializeGame();
}
/**
 Muestra la ventana para la selección de especies
 @param numEspecies, nº de especies
 @param especies, vector con los nombres de las especies
 @param especieSelec, nº de la especie seleccionada (argumento de salida)
 */
bool ventanaSeleccionEspecie(const int numEspecies, const vector<string> &especies, gint &especieSelec) {
	GtkWidget  *ventanaEspecies = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	GtkWidget  *listaEspecies = gtk_vbox_new(TRUE, 0);
	GtkWidget  *fixed  = gtk_fixed_new();
	struct datosGestorCancelarEspecies  datos;

	
	gtk_window_set_title(GTK_WINDOW(ventanaEspecies), "Species selection");
	gtk_window_set_position(GTK_WINDOW(ventanaEspecies), GTK_WIN_POS_CENTER);
	gtk_window_set_default_size(GTK_WINDOW(ventanaEspecies), 150, 150);	
	
	listaEspecies = gtk_combo_box_new_text();
	for(int i = 0; i < numEspecies; i++) {
		gtk_combo_box_append_text(GTK_COMBO_BOX(listaEspecies), especies[i].c_str());
	}
	gtk_combo_box_set_active(GTK_COMBO_BOX(listaEspecies), 0); especieSelec = 0;

	GtkWidget  *label = gtk_label_new("Select an species:");
	gtk_fixed_put(GTK_FIXED(fixed), label, 10, 10);

	gtk_fixed_put(GTK_FIXED(fixed), listaEspecies, 40, 50);
	gtk_container_add(GTK_CONTAINER(ventanaEspecies), fixed);

	GtkWidget *botonAceptar = gtk_button_new_with_label( "Accept" );
	gtk_fixed_put(GTK_FIXED(fixed), botonAceptar, 10, 110);

	GtkWidget *botonCancelar = gtk_button_new_with_label( "Cancel" );
	gtk_fixed_put(GTK_FIXED(fixed), botonCancelar, 80, 110);
	
	datos.ventanaEspecies = ventanaEspecies; datos.cancelar = false;
		
	g_signal_connect_swapped(G_OBJECT(ventanaEspecies), "destroy", G_CALLBACK(gtk_main_quit), G_OBJECT(ventanaEspecies));
	g_signal_connect(G_OBJECT(listaEspecies), "changed", G_CALLBACK(listaEspeciesSelected), (gpointer) &especieSelec);
	g_signal_connect( G_OBJECT( botonAceptar ), "clicked", G_CALLBACK( gestorAceptarEspecies ), ( gpointer ) ventanaEspecies );
	g_signal_connect( G_OBJECT( botonCancelar ), "clicked", G_CALLBACK( gestorCancelarEspecies ), ( gpointer ) &datos );

	gtk_widget_show_all(ventanaEspecies);
	gtk_main();

	if(true == datos.cancelar) {
		return(false);
	}

	return(true);
}
예제 #26
0
void graphicsInit(GtkWidget *frame, field_t *field)
{
    GtkWidget *darea;
    darea = gtk_drawing_area_new();
    gtk_fixed_put(GTK_FIXED(frame), darea, 0, 0);
    gtk_widget_set_size_request(darea, field->size.x * pixelConst + 10 + 100, field->size.y * pixelConst + 10);
    g_signal_connect(G_OBJECT(darea), "draw", G_CALLBACK(on_draw_event), field);
    g_timeout_add(10, (GSourceFunc) screenUpdate, darea);  //condition to stop
}
예제 #27
0
void gui_main::LoadServoControls(GtkWidget * frame){
    for (int i = 1; i < srvQuantity + 1; i++){
        int xOffset = (i-1) / 6;
        PwmViews[i-1] = new pwm_gtk_control(to_string(i).c_str(), ServosModel->ServoParams[(i - 1) * 3 + 1], ServosModel->ServoParams[(i - 1) * 3 + 2], ServosModel->ServoParams[(i - 1) * 3]);
        PwmViews[i-1]->SetServo(ServosModel->Servos[i-1]);
        gtk_fixed_put(GTK_FIXED (_pwmControlPage), PwmViews[i-1]->get_main(), xOffset * 400, (i-1) * 75 - xOffset * 450);
    }
    // add all pwm controls
    AllOffButton = gtk_button_new_with_label("All OFF");
    g_signal_connect (AllOffButton, "clicked", G_CALLBACK (gui_main::btnAllOffClick), this);
    gtk_widget_set_usize(AllOffButton, 100, 40);
    gtk_fixed_put(GTK_FIXED (_pwmControlPage), AllOffButton, 785, 20);

    AllOnButton = gtk_button_new_with_label("All ON");
    g_signal_connect (AllOnButton, "clicked", G_CALLBACK (gui_main::btnAllOnClick), this);
    gtk_widget_set_usize(AllOnButton, 100, 40);
    gtk_fixed_put(GTK_FIXED (_pwmControlPage), AllOnButton, 785, 65);
}
예제 #28
0
파일: incdec.c 프로젝트: AlexKordic/sandbox
int main(int argc, char** argv) {

    GtkWidget *label;
    GtkWidget *window;
    GtkWidget *frame;
    GtkWidget *plus;
    GtkWidget *minus;

    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    gtk_window_set_default_size(GTK_WINDOW(window), 250, 180);
    gtk_window_set_title(GTK_WINDOW(window), "+-");

    frame = gtk_fixed_new();
    gtk_container_add(GTK_CONTAINER(window), frame);

    plus = gtk_button_new_with_label("+");
    gtk_widget_set_size_request(plus, 80, 35);
    gtk_fixed_put(GTK_FIXED(frame), plus, 50, 20);

    minus = gtk_button_new_with_label("-");
    gtk_widget_set_size_request(minus, 80, 35);
    gtk_fixed_put(GTK_FIXED(frame), minus, 50, 80);

    label = gtk_label_new("0");
    gtk_fixed_put(GTK_FIXED(frame), label, 190, 58); 

    gtk_widget_show_all(window);

    g_signal_connect(window, "destroy",
            G_CALLBACK (gtk_main_quit), NULL);

    g_signal_connect(plus, "clicked", 
            G_CALLBACK(increase), label);

    g_signal_connect(minus, "clicked", 
            G_CALLBACK(decrease), label);

    gtk_main();

    return 0;
}
예제 #29
0
파일: main.c 프로젝트: m4heshd/dr_know
int main(int argc, char *argv[])
{
     gtk_init(&argc, &argv);

         GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_window_set_default_size(GTK_WINDOW(window), 700, 580);
    g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);

        GtkWidget* fixed_container = gtk_fixed_new();
    gtk_container_add(GTK_CONTAINER(window), fixed_container);

    GtkWidget *button = gtk_button_new_with_label("Get");
     gtk_fixed_put(GTK_FIXED(fixed_container), button, 655, 10);

     GtkWidget *entry1 = gtk_entry_new();
      gtk_fixed_put(GTK_FIXED(fixed_container), entry1, 10, 10);
      gtk_widget_set_size_request(entry1, 645, 15);
    gtk_entry_set_text(GTK_ENTRY(entry1),"Paul Walker");

         GtkWidget *text1 = gtk_text_view_new();
      gtk_fixed_put(GTK_FIXED(fixed_container), text1, 10, 50);
          //gtk_container_add(GTK_CONTAINER(scrolledwindow), text1);
      gtk_widget_set_size_request(text1, 675, 520);
          gtk_text_view_set_wrap_mode(text1,GTK_WRAP_WORD_CHAR);

 void process()
{
    getwiki(gtk_entry_get_text(GTK_ENTRY(entry1)));

    char *textout;

    GtkTextIter start, end;
    GtkTextBuffer *buffer=gtk_text_view_get_buffer (GTK_TEXT_VIEW(text1));

    textout = parse(chunk.memory);

    gtk_text_buffer_get_bounds (buffer, &start, &end);

    gtk_text_buffer_delete(buffer,&start,&end);

    gtk_text_buffer_insert(buffer,&end,textout,strlen(textout));

    gtk_text_view_set_buffer(text1,buffer);
}
예제 #30
0
파일: xml.c 프로젝트: toxicgumbo/MegaTunix
void load_gauge(GtkWidget *dash, xmlNode *node)
{
	xmlNode *cur_node = NULL;
	GtkWidget *gauge = NULL;
	gchar * filename = NULL;
	gint width = 0;
	gint height = 0;
	gint x_offset = 0;
	gint y_offset = 0;
	gchar *xml_name = NULL;
	gchar *datasource = NULL;
	if (!node->children)
	{
		printf("ERROR, load_gauge, xml node is empty!!\n");
		return;
	}
	cur_node = node->children;
	while (cur_node->next) { if (cur_node->type == XML_ELEMENT_NODE)
		{
			if (g_strcasecmp((gchar *)cur_node->name,"width") == 0)
				generic_xml_gint_import(cur_node,&width);
			if (g_strcasecmp((gchar *)cur_node->name,"height") == 0)
				generic_xml_gint_import(cur_node,&height);
			if (g_strcasecmp((gchar *)cur_node->name,"x_offset") == 0)
				generic_xml_gint_import(cur_node,&x_offset);
			if (g_strcasecmp((gchar *)cur_node->name,"y_offset") == 0)
				generic_xml_gint_import(cur_node,&y_offset);
			if (g_strcasecmp((gchar *)cur_node->name,"gauge_xml_name") == 0)
				generic_xml_gchar_import(cur_node,&xml_name);
			if (g_strcasecmp((gchar *)cur_node->name,"datasource") == 0)
				generic_xml_gchar_import(cur_node,&datasource);
		}
		cur_node = cur_node->next;

	}
	if (xml_name && datasource)
	{
		gauge = mtx_gauge_face_new();
		gtk_fixed_put(GTK_FIXED(dash),gauge,x_offset,y_offset);
		xml_name = g_strdelimit(xml_name,"\\",'/');
		filename = get_file(g_build_filename(PSEP,GAUGES_DATA_DIR,xml_name,NULL),NULL);
		mtx_gauge_face_import_xml(MTX_GAUGE_FACE(gauge),filename);
		gtk_widget_set_usize(gauge,width,height);
		g_free(filename);
		OBJ_SET_FULL((gauge),"datasource",g_strdup(datasource),g_free);
		/* Cheat to get property window created... */


		create_preview_list(NULL,NULL);
		update_properties(gauge,GAUGE_ADD);
		g_free(xml_name);
		g_free(datasource);
		gtk_widget_show_all(dash);
	}

}