Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ~~~~~~~~~~~~~~
- myclass.h
- ~~~~~~~~~~~~~~
- #include <gtk/gtk.h>
- #include "DrawingArea.h"
- class myclass
- {
- public:
- myclass();
- virtual ~myclass();
- void newTab();
- protected:
- GtkWidget *mainWindow;
- GtkBox *box;
- GtkNotebook *View;
- GtkWidget *drawArea;
- GtkWidget *label;
- DrawingArea *drawpointer;
- bool checkFlag;
- int cPage;
- };
- extern "C"
- {
- void on_new(GtkWidget *widget, gpointer user_data);
- }
- ~~~~~~~~~~~~~~
- myclass.cpp
- ~~~~~~~~~~~~~~
- #include "myclass.h"
- #include <iostream>
- extern myclass *pointer;
- myclass:: myclass()
- {
- GtkBuilder *builder = gtk_builder_new();
- gtk_builder_add_from_file (builder, "uifile.ui", NULL);
- gtk_builder_connect_signals (builder, NULL);
- mainWindow = GTK_WIDGET (gtk_builder_get_object(builder, "mainWindow"));
- box = GTK_BOX (gtk_builder_get_object(builder, "box1"));
- gtk_widget_show_all (mainWindow);
- }
- myclass::~myclass()
- {
- }
- void on_new(GtkWidget *widget, gpointer user_data)
- {
- pointer->newTab();
- }
- void myclass:: newTab()
- {
- if(!checkFlag)
- {
- drawpointer = new DrawingArea();
- drawArea = drawpointer->createArea();
- View = GTK_NOTEBOOK(gtk_notebook_new());
- gtk_notebook_set_tab_pos (View, GTK_POS_TOP);
- label = gtk_label_new ("Document");
- gtk_notebook_append_page (View, drawArea, label);
- gtk_box_pack_start(box, GTK_WIDGET(View), TRUE, TRUE, 0);
- gtk_box_reorder_child (box, GTK_WIDGET(View), 1);
- gtk_widget_show (GTK_WIDGET(View));
- checkFlag = true;
- }
- label = gtk_label_new ("Document1");
- cPage = gtk_notebook_get_current_page (View);
- gtk_notebook_insert_page (View, drawArea, label, cPage + 1);
- gtk_notebook_next_page (GTK_NOTEBOOK (View));
- }
- ~~~~~~~~~~~~~~
- DrawingArea.h
- ~~~~~~~~~~~~~~
- #include <gtk/gtk.h>
- class DrawingArea
- {
- public:
- DrawingArea();
- virtual ~DrawingArea();
- GtkWidget *drawingArea;
- GtkWidget *createArea();
- };
- ~~~~~~~~~~~~~~
- DrawingArea.cpp
- ~~~~~~~~~~~~~~
- #include "DrawingArea.h"
- DrawingArea:: DrawingArea()
- {
- }
- DrawingArea:: ~DrawingArea()
- {
- }
- GtkWidget* DrawingArea::createArea()
- {
- drawingArea = gtk_drawing_area_new();
- gtk_widget_show (drawingArea);
- return drawingArea;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement