static int gtkProgressBarMapMethod(Ihandle* ih) { ih->handle = gtk_progress_bar_new(); if (!ih->handle) return IUP_ERROR; /* add to the parent, all GTK controls must call this. */ iupgtkAddToParent(ih); gtk_widget_realize(ih->handle); if (iupStrEqualNoCase(iupAttribGetStr(ih, "ORIENTATION"), "VERTICAL")) { #if GTK_CHECK_VERSION(3, 0, 0) gtk_orientable_set_orientation(GTK_ORIENTABLE(ih->handle), GTK_ORIENTATION_VERTICAL); gtk_progress_bar_set_inverted(GTK_PROGRESS_BAR(ih->handle), TRUE); #else gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(ih->handle), GTK_PROGRESS_BOTTOM_TO_TOP); #endif if (ih->userheight < ih->userwidth) { int tmp = ih->userheight; ih->userheight = ih->userwidth; ih->userwidth = tmp; } } else { #if GTK_CHECK_VERSION(3, 0, 0) gtk_orientable_set_orientation(GTK_ORIENTABLE(ih->handle), GTK_ORIENTATION_HORIZONTAL); #else gtk_progress_bar_set_orientation((GtkProgressBar*)ih->handle, GTK_PROGRESS_LEFT_TO_RIGHT); #endif } if (iupAttribGetBoolean(ih, "MARQUEE")) { #if GTK_CHECK_VERSION(3, 0, 0) gtk_progress_bar_pulse(GTK_PROGRESS_BAR(ih->handle)); #else gtk_progress_set_activity_mode((GtkProgress*)ih->handle, TRUE); #endif ih->data->marquee = 1; ih->data->timer = IupTimer(); IupSetCallback(ih->data->timer, "ACTION_CB", (Icallback)gtkProgressBarTimeCb); IupSetAttribute(ih->data->timer, "TIME", "100"); iupAttribSet(ih->data->timer, "_IUP_PROGRESSBAR", (char*)ih); gtk_progress_bar_set_pulse_step((GtkProgressBar*)ih->handle, 0.02); } else ih->data->marquee = 0; return IUP_NOERROR; }
bool wxGauge::Create( wxWindow *parent, wxWindowID id, int range, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ) { if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxGauge creation failed") ); return false; } m_rangeMax = range; m_widget = gtk_progress_bar_new(); g_object_ref(m_widget); if ( style & wxGA_VERTICAL ) { #ifdef __WXGTK3__ gtk_orientable_set_orientation(GTK_ORIENTABLE(m_widget), GTK_ORIENTATION_VERTICAL); gtk_progress_bar_set_inverted(GTK_PROGRESS_BAR(m_widget), true); #else gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR(m_widget), GTK_PROGRESS_BOTTOM_TO_TOP ); #endif } // when using the gauge in indeterminate mode, we need this: gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR (m_widget), 0.05); m_parent->DoAddChild( this ); PostCreation(size); SetInitialSize(size); return true; }
int main (int argc, char *argv[]) { //const std::string creatureDB[]={"pidgeot","gardevoir"}; - For creature catalog~~ //std::cout<<creatureDB[0]; /* Initialize GTK+ */ g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL); gtk_init (&argc, &argv); g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL); /* Main window configuration */ win = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_resizable (GTK_WINDOW (win), false); gtk_widget_set_size_request(win,windowWidth,windowHeight); gtk_container_set_border_width (GTK_CONTAINER (win), 0); gtk_window_set_title (GTK_WINDOW (win), "Pokemon"); gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); gtk_widget_realize (win); g_signal_connect (win, "destroy", gtk_main_quit, NULL); gtk_window_set_icon_from_file(GTK_WINDOW(win),"images/winIcon.png",NULL); //gtk_window_set_decorated (GTK_WINDOW(win),FALSE); //Óáèðàåò ñòàíäàðòíîå îôîðìëåíèå îêíà windows /* Initializing objects */ zeBigContainer = gtk_box_new (GTK_ORIENTATION_VERTICAL,0); zeBigContainerOverlay = gtk_overlay_new(); topPart = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0); topPartCenter = gtk_alignment_new (0.5,0.5,1,1); topPartLeft = gtk_box_new (GTK_ORIENTATION_VERTICAL,0); topPartCenter = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0); topPartRight = gtk_box_new (GTK_ORIENTATION_VERTICAL,0); bottomPart = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0); buttons = gtk_grid_new (); dialogScrollFrame = gtk_scrolled_window_new(NULL,NULL); dialogText = gtk_text_view_new (); dialogBuffer = gtk_text_buffer_new (NULL); button1 = gtk_button_new (); button2 = gtk_button_new (); button3 = gtk_button_new (); button4 = gtk_button_new_with_label ("Restart"); button5 = gtk_button_new_with_label ("Back to choosing screen"); topMidPart = gtk_image_new_from_file ("images/topPic.jpg"); IMGBackground = gtk_image_new_from_file ("images/pokeBackground.jpg"); leftImage = gtk_image_new_from_file ("images/filler.PNG"); rightImage = gtk_image_new_from_file ("images/filler.PNG"); leftBar = gtk_progress_bar_new (); rightBar = gtk_progress_bar_new (); /* Setting dialogText */ gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(dialogText), GTK_TEXT_WINDOW_LEFT, 5); gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(dialogText), GTK_TEXT_WINDOW_BOTTOM, 20); gtk_text_view_set_border_window_size(GTK_TEXT_VIEW(dialogText), GTK_TEXT_WINDOW_TOP, 5); gtk_text_view_set_editable(GTK_TEXT_VIEW(dialogText), FALSE); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(dialogText), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(dialogText),GTK_WRAP_WORD); /* Setting progress bars */ gtk_progress_bar_set_inverted(GTK_PROGRESS_BAR(rightBar),TRUE); gtk_progress_bar_set_show_text(GTK_PROGRESS_BAR(leftBar),TRUE); gtk_progress_bar_set_show_text(GTK_PROGRESS_BAR(rightBar),TRUE); /* Various initializations */ gtk_box_set_homogeneous((GtkBox*)topPartCenter,TRUE); gtk_box_set_homogeneous((GtkBox*)topPart,TRUE); gtk_box_set_homogeneous((GtkBox*)bottomPart,TRUE); gtk_box_set_homogeneous((GtkBox*)zeBigContainer,TRUE); gtk_grid_set_row_homogeneous((GtkGrid*)buttons,TRUE); gtk_grid_set_column_homogeneous((GtkGrid*)buttons,TRUE); gtk_grid_set_row_spacing((GtkGrid*)buttons,12); gtk_grid_set_column_spacing((GtkGrid*)buttons,12); g_object_set (buttons,"margin",12,NULL); g_object_set (topPart,"margin",12,NULL); gtk_container_set_border_width(GTK_CONTAINER(dialogScrollFrame),5); //gtk_box_set_child_packing((GtkBox*)zeBigContainer,bottomPart,gTRUE,gTRUE,100,GTK_PACK_START); gtk_text_view_set_buffer (GTK_TEXT_VIEW(dialogText), dialogBuffer); gtk_text_buffer_set_text(dialogBuffer, "", -1); //gtk_text_buffer_get_iter_at_offset (dialogBuffer, &lastCharIter, -1); gtk_text_buffer_get_end_iter(dialogBuffer, &endIter); fontDesc = pango_font_description_from_string("Consolas"); gtk_widget_override_font(dialogText,fontDesc); endMark = gtk_text_mark_new ("endMark",FALSE); endMark = gtk_text_buffer_get_mark(dialogBuffer,"insert"); gtk_button_set_always_show_image(GTK_BUTTON(button1),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(button2),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(button3),TRUE); /* Building objects */ gtk_container_add (GTK_CONTAINER(win),zeBigContainerOverlay); gtk_overlay_add_overlay(GTK_OVERLAY(zeBigContainerOverlay),zeBigContainer); gtk_container_add (GTK_CONTAINER(zeBigContainerOverlay),IMGBackground); gtk_container_add (GTK_CONTAINER(zeBigContainer),topPart); gtk_container_add (GTK_CONTAINER(zeBigContainer),bottomPart); gtk_container_add (GTK_CONTAINER(topPart),topPartLeft); // Â topPartLeft âñòàâëÿòü ëåâûé áàð gtk_container_add (GTK_CONTAINER(topPartLeft),leftBar); gtk_container_add (GTK_CONTAINER(topPartLeft),leftImage); gtk_container_add (GTK_CONTAINER(topPart),topPartCenter); gtk_container_add (GTK_CONTAINER(topPart),topPartRight); // â topPartRight - ïðàâûé... gtk_container_add (GTK_CONTAINER(topPartRight),rightBar); gtk_container_add (GTK_CONTAINER(topPartRight),rightImage); gtk_container_add (GTK_CONTAINER(topPartCenter),topMidPart); gtk_container_add (GTK_CONTAINER(bottomPart),dialogScrollFrame); gtk_container_add (GTK_CONTAINER(dialogScrollFrame),dialogText); gtk_container_add (GTK_CONTAINER(bottomPart),buttons); gtk_grid_attach (GTK_GRID(buttons),button1, 1,1,1,1); gtk_grid_attach (GTK_GRID(buttons),button2, 1,2,1,1); gtk_grid_attach (GTK_GRID(buttons),button3, 1,3,1,1); gtk_grid_attach (GTK_GRID(buttons),button4, 1,4,1,1); gtk_grid_attach (GTK_GRID(buttons),button5, 1,5,1,1); /* Signal connects and some shiatd */ g_signal_connect(G_OBJECT(button1), "clicked", Cast1, NULL); g_signal_connect(G_OBJECT(button2), "clicked", Cast2, NULL); g_signal_connect(G_OBJECT(button3), "clicked", Cast3, NULL); g_signal_connect(G_OBJECT(button4), "clicked", combatStart, NULL); g_signal_connect(G_OBJECT(button5), "clicked", backToChoosingScreen,NULL); /* Creature chooser window configuration */ // TO BE CONTINUED.......................................................................... /* Window creation/configuration (win2) */ win2win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_resizable (GTK_WINDOW (win2win), false); gtk_widget_set_size_request(win2win,windowWidth,windowHeight); gtk_window_set_title (GTK_WINDOW (win2win), "Pokemon creature chooser"); gtk_window_set_position (GTK_WINDOW (win2win), GTK_WIN_POS_CENTER); gtk_widget_realize (win2win); g_signal_connect (win2win, "destroy", gtk_main_quit, NULL); gtk_window_set_icon_from_file(GTK_WINDOW(win2win),"images/winIcon.png",NULL); /* Initializing objects (win2) */ win2topLabel = gtk_image_new_from_file("images/logo.png"); //win2topLabel = gtk_label_new(""); //gtk_label_set_markup(GTK_LABEL(win2topLabel),"<small>Small</small><big>Bold</big>"); win2BigContainer = gtk_grid_new(); win2BigContainerOverlay = gtk_overlay_new (); win2TopPart = gtk_grid_new (); win2MiddlePart = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,0); win2BottomPart = gtk_grid_new(); win2BackgroundIMG = gtk_image_new_from_file ("images/pokeBackground.jpg"); win2button1 = gtk_button_new_with_label(">>Switch Screens<<"); win2button2 = gtk_button_new_with_label("Exit"); win2buttonReset = gtk_button_new_with_label("Reset"); win2creatureIcon1 = gtk_button_new(); win2creatureIcon2 = gtk_button_new(); win2creatureIcon3 = gtk_button_new(); win2creatureIcon4 = gtk_button_new(); win2creatureIcon5 = gtk_button_new(); win2creatureIcon1IMG = gtk_image_new_from_file("images/ImagePidgeotSmall.png"); win2creatureIcon2IMG = gtk_image_new_from_file("images/ImageGardevoirSmall.png"); win2creatureIcon3IMG = gtk_image_new_from_file("images/ImageArcanineSmall.png"); win2creatureIcon4IMG = gtk_image_new_from_file("images/ImagePikachuSmall.png"); win2creatureIcon5IMG = gtk_image_new_from_file("images/ImageFishSmall.png"); win2ImageVersus = gtk_image_new_from_file ("images/versus.png"); win2MiddleFirst = gtk_image_new_from_file ("images/facelessVoid.png"); win2MiddleSecond = gtk_image_new_from_file ("images/facelessVoid.png"); /* Various initializations (win2) */ gtk_grid_set_row_homogeneous((GtkGrid*)win2BigContainer,TRUE); gtk_grid_set_column_homogeneous((GtkGrid*)win2BigContainer,TRUE); gtk_grid_set_row_spacing((GtkGrid*)win2BigContainer,12); gtk_grid_set_column_spacing((GtkGrid*)win2BigContainer,12); //g_object_set (win2BigContainer,"margin",12,NULL); gtk_grid_set_row_homogeneous((GtkGrid*)win2BottomPart,TRUE); gtk_grid_set_column_homogeneous((GtkGrid*)win2BottomPart,TRUE); gtk_grid_set_row_spacing((GtkGrid*)win2BottomPart,12); gtk_grid_set_column_spacing((GtkGrid*)win2BottomPart,12); g_object_set (win2BottomPart,"margin",12,NULL); gtk_grid_set_row_homogeneous((GtkGrid*)win2TopPart,TRUE); gtk_grid_set_column_homogeneous((GtkGrid*)win2TopPart,TRUE); gtk_grid_set_row_spacing((GtkGrid*)win2TopPart,12); gtk_grid_set_column_spacing((GtkGrid*)win2TopPart,12); g_object_set (win2TopPart,"margin",12,NULL); gtk_box_set_homogeneous(GTK_BOX(win2MiddlePart),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(win2creatureIcon1),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(win2creatureIcon2),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(win2creatureIcon3),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(win2creatureIcon4),TRUE); gtk_button_set_always_show_image(GTK_BUTTON(win2creatureIcon5),TRUE); gtk_button_set_image(GTK_BUTTON(win2creatureIcon1),win2creatureIcon1IMG); gtk_button_set_image(GTK_BUTTON(win2creatureIcon2),win2creatureIcon2IMG); gtk_button_set_image(GTK_BUTTON(win2creatureIcon3),win2creatureIcon3IMG); gtk_button_set_image(GTK_BUTTON(win2creatureIcon4),win2creatureIcon4IMG); gtk_button_set_image(GTK_BUTTON(win2creatureIcon5),win2creatureIcon5IMG); /* Building objects (win2) */ gtk_container_add (GTK_CONTAINER(win2win),win2BigContainerOverlay); gtk_overlay_add_overlay(GTK_OVERLAY(win2BigContainerOverlay),win2BigContainer); gtk_container_add (GTK_CONTAINER(win2BigContainerOverlay),win2BackgroundIMG); gtk_grid_attach(GTK_GRID(win2BigContainer),win2topLabel,1,1,1,2);//1 gtk_grid_attach(GTK_GRID(win2BigContainer),win2TopPart,1,2,1,3);//3 gtk_grid_attach(GTK_GRID(win2TopPart),win2creatureIcon1,1,1,1,1); gtk_grid_attach(GTK_GRID(win2TopPart),win2creatureIcon2,2,1,1,1); gtk_grid_attach(GTK_GRID(win2TopPart),win2creatureIcon3,3,1,1,1); gtk_grid_attach(GTK_GRID(win2TopPart),win2creatureIcon4,4,1,1,1); gtk_grid_attach(GTK_GRID(win2TopPart),win2creatureIcon5,5,1,1,1); gtk_grid_attach(GTK_GRID(win2BigContainer),win2MiddlePart,1,5,1,3);//3 gtk_grid_attach(GTK_GRID(win2BigContainer),win2BottomPart,1,8,1,3);//3 gtk_container_add (GTK_CONTAINER(win2MiddlePart),win2MiddleFirst); gtk_container_add (GTK_CONTAINER(win2MiddlePart),win2ImageVersus); gtk_container_add (GTK_CONTAINER(win2MiddlePart),win2MiddleSecond); gtk_grid_attach (GTK_GRID(win2BottomPart),win2button1, 1,1,3,1); gtk_grid_attach (GTK_GRID(win2BottomPart),win2buttonReset,4,1,1,1); gtk_grid_attach (GTK_GRID(win2BottomPart),win2button2, 5,1,1,1); /* Signal connects (win2) */ g_signal_connect (G_OBJECT(win2button1),"clicked",win2StartGame,NULL); g_signal_connect (G_OBJECT(win2button2),"clicked",gtk_main_quit,NULL); g_signal_connect (G_OBJECT(win2creatureIcon1),"clicked",win2pidgeotSelect,NULL); g_signal_connect (G_OBJECT(win2creatureIcon2),"clicked",win2gardevoirSelect,NULL); g_signal_connect (G_OBJECT(win2creatureIcon3),"clicked",win2arcanineSelect,NULL); g_signal_connect (G_OBJECT(win2creatureIcon4),"clicked",win2pikachuSelect,NULL); g_signal_connect (G_OBJECT(win2creatureIcon5),"clicked",win2mightyfishSelect,NULL); g_signal_connect (G_OBJECT(win2buttonReset),"clicked",win2CharReset,NULL); /* Other stuff */ srand(time(NULL)); write ("___________________________________________________\n"); /* Enter the main loop */ gtk_widget_show_all (win2win); gtk_main (); return 0; };
GtkWidget * progress_create_widget (GtkWidget * dlg) { GtkWidget *w; GIOChannel *channel; // fix it when vertical specified #if GTK_CHECK_VERSION(3,0,0) w = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); #else w = gtk_vbox_new (FALSE, 0); #endif progress_bar = gtk_progress_bar_new (); gtk_widget_set_name (progress_bar, "yad-progress-widget"); if (options.progress_data.log_on_top) gtk_box_pack_end (GTK_BOX (w), progress_bar, FALSE, FALSE, 0); else gtk_box_pack_start (GTK_BOX (w), progress_bar, FALSE, FALSE, 0); if (options.progress_data.percentage > 100) options.progress_data.percentage = 100; gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), options.progress_data.percentage / 100.0); if (options.progress_data.progress_text) gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progress_bar), options.progress_data.progress_text); #if GTK_CHECK_VERSION(3,0,0) gtk_progress_bar_set_inverted (GTK_PROGRESS_BAR (progress_bar), options.progress_data.rtl); #else if (options.progress_data.rtl) gtk_progress_bar_set_orientation (GTK_PROGRESS_BAR (progress_bar), GTK_PROGRESS_RIGHT_TO_LEFT); #endif if (options.progress_data.log) { GtkWidget *ex, *sw; ex = gtk_expander_new (options.progress_data.log); gtk_expander_set_spacing (GTK_EXPANDER (ex), 2); gtk_expander_set_expanded (GTK_EXPANDER (ex), options.progress_data.log_expanded); gtk_box_pack_start (GTK_BOX (w), ex, TRUE, TRUE, 2); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy); gtk_container_add (GTK_CONTAINER (ex), sw); progress_log = gtk_text_view_new (); gtk_widget_set_name (progress_log, "yad-text-widget"); gtk_widget_set_size_request (progress_log, -1, options.progress_data.log_height); gtk_container_add (GTK_CONTAINER (sw), progress_log); log_buffer = gtk_text_buffer_new (NULL); gtk_text_view_set_buffer (GTK_TEXT_VIEW (progress_log), log_buffer); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (progress_log), 5); gtk_text_view_set_right_margin (GTK_TEXT_VIEW (progress_log), 5); gtk_text_view_set_editable (GTK_TEXT_VIEW (progress_log), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (progress_log), FALSE); } #if GTK_CHECK_VERSION(3,0,0) else gtk_progress_bar_set_show_text (GTK_PROGRESS_BAR (progress_bar), TRUE); #endif channel = g_io_channel_unix_new (0); g_io_channel_set_encoding (channel, NULL, NULL); g_io_channel_set_flags (channel, G_IO_FLAG_NONBLOCK, NULL); g_io_add_watch (channel, G_IO_IN | G_IO_HUP, handle_stdin, dlg); return w; }