propertyTab::propertyTab( QWidget *parent) : QWidget( parent ) { layout = new QVBoxLayout; authorEdit = new QLineEdit; colorPush = new QPushButton; addWidgetWithLabel( "Author", authorEdit ); addWidgetWithLabel( "Color", colorPush ); setLayout( layout ); connect( authorEdit, SIGNAL( textChanged( const QString & ) ), this, SIGNAL( authorChanged() ) ); }
GtkWidget *createMainWindow( void ) { GtkWidget *app;//!< Main container GtkWidget *buttonCalc, *buttonClose; GtkWidget *labelHeader; GtkWidget *label; GtkWidget *boxResistors, *boxConnType; GtkWidget *hbox, *vbox; // Create new Gnome application app = gnome_app_new("gnome1","Menus, menus, menus"); // Set window properties gtk_window_set_title(GTK_WINDOW(app), "Den mest fantastiska elektronikkalkylatorn"); gtk_window_set_position(GTK_WINDOW(app), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(app), 300, 200); gnome_app_create_menus( GNOME_APP(app), menubar); // Labels labelHeader = gtk_label_new("Räkna ut resistansen v1.0"); label = gtk_label_new("Typ av koppling:"); // Entry entryNr = gtk_spin_button_new_with_range(1,3,1); entryV = gtk_spin_button_new_with_range(56.34,10000,0.01); entryR1 = gtk_spin_button_new_with_range(1234.5 ,1000000000,0.1); entryR2 = gtk_spin_button_new_with_range(4321.0,1000000000,0.1); entryR3 = gtk_spin_button_new_with_range(5555.5,1000000000,0.1); // Buttons buttonCalc = gtk_button_new_with_label("Räkna ut"); buttonClose = gtk_button_new_with_label("Avsluta"); radioSerial = gtk_radio_button_new(NULL); radioParalell = gtk_radio_button_new_from_widget( GTK_RADIO_BUTTON( radioSerial )); // Set callback functions g_signal_connect( GTK_OBJECT (app), "destroy", GTK_SIGNAL_FUNC (closeApp), NULL ); g_signal_connect( GTK_OBJECT (buttonCalc), "clicked", GTK_SIGNAL_FUNC (buttonClicked), NULL ); g_signal_connect( GTK_OBJECT (buttonClose), "clicked", GTK_SIGNAL_FUNC (closeApp), NULL ); // Boxes boxResistors = gtk_vbox_new(FALSE, 5); boxConnType = gtk_vbox_new(TRUE, 5); hbox = gtk_hbox_new(TRUE, 5); vbox = gtk_vbox_new(FALSE, 10); // Packing boxes and adding labels gtk_box_pack_start(GTK_BOX(boxConnType), label, TRUE, FALSE, 5); addWidgetWithLabel( GTK_CONTAINER( boxConnType ), "Seriell", radioSerial ); addWidgetWithLabel( GTK_CONTAINER( boxConnType ), "Parallell", radioParalell ); addWidgetWithLabel( GTK_CONTAINER( boxConnType ), "Spänning (V):", entryV ); gtk_box_pack_start(GTK_BOX(boxConnType), buttonClose, TRUE, FALSE, 5); addWidgetWithLabel( GTK_CONTAINER(boxResistors), "Antal resistorer:", entryNr); addWidgetWithLabel( GTK_CONTAINER(boxResistors), "Resistor #1:", entryR1); addWidgetWithLabel( GTK_CONTAINER(boxResistors), "Resistor #2:", entryR2); addWidgetWithLabel( GTK_CONTAINER(boxResistors), "Resistor #3:", entryR3); gtk_box_pack_start(GTK_BOX(boxResistors), buttonCalc, TRUE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), boxConnType, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), boxResistors, FALSE, FALSE, 5); // Add containers to gnome application gnome_app_set_contents( GNOME_APP(app), hbox); // Return Gnome app return app; }