summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c86
1 files changed, 16 insertions, 70 deletions
diff --git a/src/main.c b/src/main.c
index 1967ef4..70b66ca 100644
--- a/src/main.c
+++ b/src/main.c
@@ -74,17 +74,6 @@ typedef struct _GUICSViewClass GUICSViewClass;
typedef struct _GUICSExport GUICSExport;
typedef struct _GUICSExportClass GUICSExportClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
-typedef struct _EmulationCSPrivate EmulationCSPrivate;
-
-#define EMULATION_TYPE_PACKET_BASE (emulation_packet_base_get_type ())
-#define EMULATION_PACKET_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMULATION_TYPE_PACKET_BASE, EmulationPacketBase))
-#define EMULATION_PACKET_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EMULATION_TYPE_PACKET_BASE, EmulationPacketBaseClass))
-#define EMULATION_IS_PACKET_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMULATION_TYPE_PACKET_BASE))
-#define EMULATION_IS_PACKET_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EMULATION_TYPE_PACKET_BASE))
-#define EMULATION_PACKET_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EMULATION_TYPE_PACKET_BASE, EmulationPacketBaseClass))
-
-typedef struct _EmulationPacketBase EmulationPacketBase;
-typedef struct _EmulationPacketBaseClass EmulationPacketBaseClass;
#define _g_free0(var) (var = (g_free (var), NULL))
#define GUI_TYPE_CS_IMPORT (gui_cs_import_get_type ())
@@ -96,7 +85,6 @@ typedef struct _EmulationPacketBaseClass EmulationPacketBaseClass;
typedef struct _GUICSImport GUICSImport;
typedef struct _GUICSImportClass GUICSImportClass;
-typedef struct _Block1Data Block1Data;
#define EMULATION_TYPE_SPEC_ENTRY (emulation_spec_entry_get_type ())
@@ -128,25 +116,6 @@ struct _GUIMainWindowPrivate {
GtkAction* action_removecs;
};
-struct _EmulationCS {
- GObject parent_instance;
- EmulationCSPrivate * priv;
- EmulationPacketBase** packets;
- gint packets_length1;
- guint32* dwords;
- gint dwords_length1;
-};
-
-struct _EmulationCSClass {
- GObjectClass parent_class;
-};
-
-struct _Block1Data {
- int _ref_count_;
- GUIMainWindow * self;
- GtkCellRendererText* cell;
-};
-
struct _EmulationSpecEntry {
EmulationSpec* spec;
char* name;
@@ -179,14 +148,14 @@ GUICSView* gui_cs_view_new (EmulationCS* cs);
GUICSView* gui_cs_view_construct (GType object_type, EmulationCS* cs);
GType gui_cs_view_get_type (void);
static void gui_main_window_open_csview (GUIMainWindow* self);
-GUICSExport* gui_cs_export_new (EmulationCS* _cs);
-GUICSExport* gui_cs_export_construct (GType object_type, EmulationCS* _cs);
+GUICSExport* gui_cs_export_new (EmulationCS* cs);
+GUICSExport* gui_cs_export_construct (GType object_type, EmulationCS* cs);
GType gui_cs_export_get_type (void);
static void gui_main_window_open_csexport (GUIMainWindow* self);
GUIMainWindow* gui_main_window_new (void);
GUIMainWindow* gui_main_window_construct (GType object_type);
-GType emulation_packet_base_get_type (void);
-static void _lambda10_ (GtkCellLayout* coll, GtkCellRenderer* celll, GtkTreeModel* model, GtkTreeIter* iter, Block1Data* _data1_);
+guint emulation_cs_get_length (EmulationCS* self);
+static void _lambda10_ (GtkCellLayout* col, GtkCellRenderer* cell, GtkTreeModel* model, GtkTreeIter* iter, GUIMainWindow* self);
static void __lambda10__gtk_cell_layout_data_func (GtkCellLayout* cell_layout, GtkCellRenderer* cell, GtkTreeModel* tree_model, GtkTreeIter* iter, gpointer self);
GUICSImport* gui_cs_import_new (void);
GUICSImport* gui_cs_import_construct (GType object_type);
@@ -204,8 +173,6 @@ static gboolean __lambda15__gtk_widget_button_press_event (GtkWidget* _sender, G
static void _lambda16_ (GtkTreeView* source, GUIMainWindow* self);
static void __lambda16__gtk_tree_view_cursor_changed (GtkTreeView* _sender, gpointer self);
static void _gtk_main_quit_gtk_object_destroy (GtkObject* _sender, gpointer self);
-static Block1Data* block1_data_ref (Block1Data* _data1_);
-static void block1_data_unref (Block1Data* _data1_);
static GObject * gui_main_window_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void gui_main_window_finalize (GObject* obj);
GType emulation_spec_entry_get_type (void);
@@ -327,19 +294,17 @@ static glong string_get_length (const char* self) {
}
-static void _lambda10_ (GtkCellLayout* coll, GtkCellRenderer* celll, GtkTreeModel* model, GtkTreeIter* iter, Block1Data* _data1_) {
- GUIMainWindow * self;
+static void _lambda10_ (GtkCellLayout* col, GtkCellRenderer* cell, GtkTreeModel* model, GtkTreeIter* iter, GUIMainWindow* self) {
EmulationCS* cs;
char* _tmp0_;
- GtkCellRendererText* _tmp1_;
- self = _data1_->self;
- g_return_if_fail (coll != NULL);
- g_return_if_fail (celll != NULL);
+ GtkCellRenderer* _tmp1_;
+ g_return_if_fail (col != NULL);
+ g_return_if_fail (cell != NULL);
g_return_if_fail (model != NULL);
cs = NULL;
gtk_tree_model_get (model, iter, 1, &cs, -1, -1);
g_assert (cs != NULL);
- g_object_set ((_tmp1_ = _data1_->cell, GTK_IS_CELL_RENDERER_TEXT (_tmp1_) ? ((GtkCellRendererText*) _tmp1_) : NULL), "text", _tmp0_ = g_strdup_printf ("%i", cs->dwords_length1), NULL);
+ g_object_set ((_tmp1_ = cell, GTK_IS_CELL_RENDERER_TEXT (_tmp1_) ? ((GtkCellRendererText*) _tmp1_) : NULL), "text", _tmp0_ = g_strdup_printf ("%u", emulation_cs_get_length (cs)), NULL);
_g_free0 (_tmp0_);
_g_object_unref0 (cs);
}
@@ -442,21 +407,6 @@ static void _gtk_main_quit_gtk_object_destroy (GtkObject* _sender, gpointer self
}
-static Block1Data* block1_data_ref (Block1Data* _data1_) {
- ++_data1_->_ref_count_;
- return _data1_;
-}
-
-
-static void block1_data_unref (Block1Data* _data1_) {
- if ((--_data1_->_ref_count_) == 0) {
- _g_object_unref0 (_data1_->self);
- _g_object_unref0 (_data1_->cell);
- g_slice_free (Block1Data, _data1_);
- }
-}
-
-
static GObject * gui_main_window_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
GObject * obj;
GObjectClass * parent_class;
@@ -467,11 +417,11 @@ static GObject * gui_main_window_constructor (GType type, guint n_construct_prop
self = GUI_MAIN_WINDOW (obj);
_inner_error_ = NULL;
{
- Block1Data* _data1_;
GtkBuilder* builder;
GObject* _tmp0_;
GtkTreeViewColumn* col;
GObject* _tmp1_;
+ GtkCellRendererText* cell;
GtkAction* _tmp3_;
GObject* _tmp2_;
GtkAction* _tmp5_;
@@ -485,9 +435,6 @@ static GObject * gui_main_window_constructor (GType type, guint n_construct_prop
GtkMenu* _tmp12_;
GObject* _tmp11_;
GObject* _tmp13_;
- _data1_ = g_slice_new0 (Block1Data);
- _data1_->_ref_count_ = 1;
- _data1_->self = g_object_ref (self);
builder = gtk_builder_new ();
{
gtk_builder_add_from_string (builder, gui_main_window_xml_ui, (gsize) string_get_length (gui_main_window_xml_ui), &_inner_error_);
@@ -510,15 +457,14 @@ static GObject * gui_main_window_constructor (GType type, guint n_construct_prop
__finally3:
if (_inner_error_ != NULL) {
_g_object_unref0 (builder);
- block1_data_unref (_data1_);
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
g_clear_error (&_inner_error_);
}
gtk_widget_set_size_request ((GtkWidget*) self, 400, 200);
gtk_window_set_title ((GtkWindow*) self, "Radeon Simulator");
- col = _g_object_ref0 ((_tmp0_ = gtk_builder_get_object (builder, "dwords_column"), GTK_IS_TREE_VIEW_COLUMN (_tmp0_) ? ((GtkTreeViewColumn*) _tmp0_) : NULL));
- _data1_->cell = _g_object_ref0 ((_tmp1_ = gtk_builder_get_object (builder, "dwords_cell"), GTK_IS_CELL_RENDERER_TEXT (_tmp1_) ? ((GtkCellRendererText*) _tmp1_) : NULL));
- gtk_cell_layout_set_cell_data_func ((GtkCellLayout*) col, (GtkCellRenderer*) _data1_->cell, __lambda10__gtk_cell_layout_data_func, block1_data_ref (_data1_), block1_data_unref);
+ col = _g_object_ref0 ((_tmp0_ = gtk_builder_get_object (builder, "pkts_column"), GTK_IS_TREE_VIEW_COLUMN (_tmp0_) ? ((GtkTreeViewColumn*) _tmp0_) : NULL));
+ cell = _g_object_ref0 ((_tmp1_ = gtk_builder_get_object (builder, "pkts_cell"), GTK_IS_CELL_RENDERER_TEXT (_tmp1_) ? ((GtkCellRendererText*) _tmp1_) : NULL));
+ gtk_cell_layout_set_cell_data_func ((GtkCellLayout*) col, (GtkCellRenderer*) cell, __lambda10__gtk_cell_layout_data_func, g_object_ref (self), g_object_unref);
self->priv->action_exportcs = (_tmp3_ = _g_object_ref0 ((_tmp2_ = gtk_builder_get_object (builder, "ExportCS"), GTK_IS_ACTION (_tmp2_) ? ((GtkAction*) _tmp2_) : NULL)), _g_object_unref0 (self->priv->action_exportcs), _tmp3_);
self->priv->action_removecs = (_tmp5_ = _g_object_ref0 ((_tmp4_ = gtk_builder_get_object (builder, "RemoveCS"), GTK_IS_ACTION (_tmp4_) ? ((GtkAction*) _tmp4_) : NULL)), _g_object_unref0 (self->priv->action_removecs), _tmp5_);
action_importcs = _g_object_ref0 ((_tmp6_ = gtk_builder_get_object (builder, "ImportCS"), GTK_IS_ACTION (_tmp6_) ? ((GtkAction*) _tmp6_) : NULL));
@@ -554,15 +500,15 @@ static GObject * gui_main_window_constructor (GType type, guint n_construct_prop
if (_inner_error_ != NULL) {
_g_object_unref0 (builder);
_g_object_unref0 (col);
+ _g_object_unref0 (cell);
_g_object_unref0 (action_importcs);
- block1_data_unref (_data1_);
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
g_clear_error (&_inner_error_);
}
_g_object_unref0 (builder);
_g_object_unref0 (col);
+ _g_object_unref0 (cell);
_g_object_unref0 (action_importcs);
- block1_data_unref (_data1_);
}
return obj;
}
@@ -573,7 +519,7 @@ static void gui_main_window_class_init (GUIMainWindowClass * klass) {
g_type_class_add_private (klass, sizeof (GUIMainWindowPrivate));
G_OBJECT_CLASS (klass)->constructor = gui_main_window_constructor;
G_OBJECT_CLASS (klass)->finalize = gui_main_window_finalize;
- gui_main_window_xml_ui = g_strdup ("\n <?xml version=\"1.0\"?>\n <interface>\n <requires lib=\"gtk+\" version=\"2.16\"/>\n <!-- interface-naming-policy project-wide -->\n <object class=\"GtkUIManager\" id=\"uimanager1\">\n <child>\n <object class=\"GtkActionGroup\" id=\"actiongroup1\">\n <child>\n <object class=\"GtkAction\" id=\"New\">\n <property name=\"name\">New</property>\n <property name=\"stock_id\">gtk-new</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"Open\">\n <property name=\"name\">Open</property>\n <property name=\"stock_id\">gtk-open</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"Save\">\n <property name=\"name\">Save</property>\n <property name=\"stock_id\">gtk-save</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"SaveAs\">\n <property name=\"name\">SaveAs</property>\n <property name=\"stock_id\">gtk-save-as</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"Quit\">\n <property name=\"name\">Quit</property>\n <property name=\"stock_id\">gtk-quit</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"RemoveCS\">\n <property name=\"name\">RemoveCS</property>\n <property name=\"label\">Remove CS</property>\n <property name=\"tooltip\">Remove the selected command stream from the current project.</property>\n <property name=\"stock_id\">gtk-delete</property>\n </object>\n <accelerator key=\"Delete\"/>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"ImportCS\">\n <property name=\"name\">ImportCS</property>\n <property name=\"label\">Import CS</property>\n <property name=\"tooltip\">Import a new command stream to the current project.</property>\n <property name=\"stock_id\">gtk-add</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"ExportCS\">\n <property name=\"name\">ExportCS</property>\n <property name=\"label\">Export CS</property>\n <property name=\"tooltip\">Export the selected command stream to a file.</property>\n <property name=\"stock_id\">gtk-convert</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"About\">\n <property name=\"name\">About</property>\n <property name=\"stock_id\">gtk-about</property>\n </object>\n <accelerator key=\"F1\"/>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"FileMenu\">\n <property name=\"name\">FileMenu</property>\n <property name=\"label\" translatable=\"yes\">_File</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"EditMenu\">\n <property name=\"name\">EditMenu</property>\n <property name=\"label\" translatable=\"yes\">_Edit</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"HelpMenu\">\n <property name=\"name\">HelpMenu</property>\n <property name=\"label\" translatable=\"yes\">_Help</property>\n </object>\n </child>\n </object>\n </child>\n <ui>\n <menubar name=\"menubar1\">\n <menu action=\"FileMenu\" name=\"FileMenu\">\n <menuitem action=\"New\" name=\"New\"/>\n <menuitem action=\"Open\" name=\"Open\"/>\n <menuitem action=\"Save\" name=\"Save\"/>\n <menuitem action=\"SaveAs\" name=\"SaveAs\"/>\n <separator/>\n <menuitem action=\"Quit\" name=\"Quit\"/>\n </menu>\n <menu action=\"EditMenu\" name=\"EditMenu\">\n <menuitem action=\"ImportCS\" name=\"ImportCS\"/>\n <menuitem action=\"ExportCS\" name=\"ExportCS\"/>\n <separator/>\n <menuitem action=\"RemoveCS\" name=\"RemoveCS\"/>\n </menu>\n <menu action=\"HelpMenu\" name=\"HelpMenu\">\n <menuitem action=\"About\" name=\"About\"/>\n </menu>\n </menubar>\n <toolbar name=\"toolbar1\">\n <toolitem action=\"New\" name=\"New\"/>\n <toolitem action=\"Open\" name=\"Open\"/>\n <toolitem action=\"Save\" name=\"Save\"/>\n <separator/>\n <toolitem action=\"ImportCS\" name=\"ImportCS\"/>\n <toolitem action=\"ExportCS\" name=\"ExportCS\"/>\n <separator/>\n <toolitem action=\"RemoveCS\" name=\"RemoveCS\"/>\n </toolbar>\n <popup name=\"popup1\">\n <menuitem action=\"ExportCS\" name=\"ExportCS\"/>\n <menuitem action=\"RemoveCS\" name=\"RemoveCS\"/>\n </popup>\n </ui>\n </object>\n <object class=\"GtkVBox\" id=\"mainbox\">\n <property name=\"visible\">True</property>\n <property name=\"orientation\">vertical</property>\n <child>\n <object constructor=\"uimanager1\" class=\"GtkMenuBar\" id=\"menubar1\">\n <property name=\"visible\">True</property>\n <child internal-child=\"accessible\">\n <object class=\"AtkObject\" id=\"a11y-menubar\">\n <property name=\"AtkObject::accessible-name\">The menubar</property>\n </object>\n </child>\n </object>\n <packing>\n <property name=\"expand\">False</property>\n </packing>\n </child>\n <child>\n <object constructor=\"uimanager1\" class=\"GtkToolbar\" id=\"toolbar1\">\n <property name=\"visible\">True</property>\n <child internal-child=\"accessible\">\n <object class=\"AtkObject\" id=\"a11y-toolbar\">\n <property name=\"AtkObject::accessible-name\">The toolbar</property>\n </object>\n </child>\n </object>\n <packing>\n <property name=\"expand\">False</property>\n <property name=\"position\">1</property>\n </packing>\n </child>\n <child>\n <object class=\"GtkScrolledWindow\" id=\"scrolledwindow1\">\n <property name=\"visible\">True</property>\n <property name=\"can_focus\">True</property>\n <property name=\"hscrollbar_policy\">automatic</property>\n <property name=\"vscrollbar_policy\">automatic</property>\n <child>\n <object class=\"GtkTreeView\" id=\"cs_list\">\n <property name=\"visible\">True</property>\n <property name=\"can_focus\">True</property>\n <property name=\"model\">cs_store</property>\n <child>\n <object class=\"GtkTreeViewColumn\" id=\"dwords_column\">\n <property name=\"title\">DWORDs</property>\n <child>\n <object class=\"GtkCellRendererText\" id=\"dwords_cell\"/>\n </child>\n </object>\n </child>\n <child>\n <object class=\"GtkTreeViewColumn\" id=\"treeviewcolumn1\">\n <property name=\"title\">Name</property>\n <child>\n <object class=\"GtkCellRendererText\" id=\"cellrenderertext1\"/>\n <attributes>\n <attribute name=\"text\">0</attribute>\n </attributes>\n </child>\n </object>\n </child>\n </object>\n </child>\n </object>\n <packing>\n <property name=\"position\">2</property>\n </packing>\n </child>\n </object>\n <object class=\"GtkListStore\" id=\"cs_store\">\n <columns>\n <!-- column-name Name -->\n <column type=\"gchararray\"/>\n <!-- column-name CS -->\n <column type=\"GObject\"/>\n </columns>\n </object>\n <object constructor=\"uimanager1\" class=\"GtkMenu\" id=\"popup1\">\n <child internal-child=\"accessible\">\n <object class=\"AtkObject\" id=\"a11y-popup\">\n <property name=\"AtkObject::accessible-name\">The popup menu</property>\n </object>\n </child>\n </object>\n </interface>\n ");
+ gui_main_window_xml_ui = g_strdup ("\n <?xml version=\"1.0\"?>\n <interface>\n <requires lib=\"gtk+\" version=\"2.16\"/>\n <!-- interface-naming-policy project-wide -->\n <object class=\"GtkUIManager\" id=\"uimanager1\">\n <child>\n <object class=\"GtkActionGroup\" id=\"actiongroup1\">\n <child>\n <object class=\"GtkAction\" id=\"New\">\n <property name=\"name\">New</property>\n <property name=\"stock_id\">gtk-new</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"Open\">\n <property name=\"name\">Open</property>\n <property name=\"stock_id\">gtk-open</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"Save\">\n <property name=\"name\">Save</property>\n <property name=\"stock_id\">gtk-save</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"SaveAs\">\n <property name=\"name\">SaveAs</property>\n <property name=\"stock_id\">gtk-save-as</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"Quit\">\n <property name=\"name\">Quit</property>\n <property name=\"stock_id\">gtk-quit</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"RemoveCS\">\n <property name=\"name\">RemoveCS</property>\n <property name=\"label\">Remove CS</property>\n <property name=\"tooltip\">Remove the selected command stream from the current project.</property>\n <property name=\"stock_id\">gtk-delete</property>\n </object>\n <accelerator key=\"Delete\"/>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"ImportCS\">\n <property name=\"name\">ImportCS</property>\n <property name=\"label\">Import CS</property>\n <property name=\"tooltip\">Import a new command stream to the current project.</property>\n <property name=\"stock_id\">gtk-add</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"ExportCS\">\n <property name=\"name\">ExportCS</property>\n <property name=\"label\">Export CS</property>\n <property name=\"tooltip\">Export the selected command stream to a file.</property>\n <property name=\"stock_id\">gtk-convert</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"About\">\n <property name=\"name\">About</property>\n <property name=\"stock_id\">gtk-about</property>\n </object>\n <accelerator key=\"F1\"/>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"FileMenu\">\n <property name=\"name\">FileMenu</property>\n <property name=\"label\" translatable=\"yes\">_File</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"EditMenu\">\n <property name=\"name\">EditMenu</property>\n <property name=\"label\" translatable=\"yes\">_Edit</property>\n </object>\n </child>\n <child>\n <object class=\"GtkAction\" id=\"HelpMenu\">\n <property name=\"name\">HelpMenu</property>\n <property name=\"label\" translatable=\"yes\">_Help</property>\n </object>\n </child>\n </object>\n </child>\n <ui>\n <menubar name=\"menubar1\">\n <menu action=\"FileMenu\" name=\"FileMenu\">\n <menuitem action=\"New\" name=\"New\"/>\n <menuitem action=\"Open\" name=\"Open\"/>\n <menuitem action=\"Save\" name=\"Save\"/>\n <menuitem action=\"SaveAs\" name=\"SaveAs\"/>\n <separator/>\n <menuitem action=\"Quit\" name=\"Quit\"/>\n </menu>\n <menu action=\"EditMenu\" name=\"EditMenu\">\n <menuitem action=\"ImportCS\" name=\"ImportCS\"/>\n <menuitem action=\"ExportCS\" name=\"ExportCS\"/>\n <separator/>\n <menuitem action=\"RemoveCS\" name=\"RemoveCS\"/>\n </menu>\n <menu action=\"HelpMenu\" name=\"HelpMenu\">\n <menuitem action=\"About\" name=\"About\"/>\n </menu>\n </menubar>\n <toolbar name=\"toolbar1\">\n <toolitem action=\"New\" name=\"New\"/>\n <toolitem action=\"Open\" name=\"Open\"/>\n <toolitem action=\"Save\" name=\"Save\"/>\n <separator/>\n <toolitem action=\"ImportCS\" name=\"ImportCS\"/>\n <toolitem action=\"ExportCS\" name=\"ExportCS\"/>\n <separator/>\n <toolitem action=\"RemoveCS\" name=\"RemoveCS\"/>\n </toolbar>\n <popup name=\"popup1\">\n <menuitem action=\"ExportCS\" name=\"ExportCS\"/>\n <menuitem action=\"RemoveCS\" name=\"RemoveCS\"/>\n </popup>\n </ui>\n </object>\n <object class=\"GtkVBox\" id=\"mainbox\">\n <property name=\"visible\">True</property>\n <property name=\"orientation\">vertical</property>\n <child>\n <object constructor=\"uimanager1\" class=\"GtkMenuBar\" id=\"menubar1\">\n <property name=\"visible\">True</property>\n <child internal-child=\"accessible\">\n <object class=\"AtkObject\" id=\"a11y-menubar\">\n <property name=\"AtkObject::accessible-name\">The menubar</property>\n </object>\n </child>\n </object>\n <packing>\n <property name=\"expand\">False</property>\n </packing>\n </child>\n <child>\n <object constructor=\"uimanager1\" class=\"GtkToolbar\" id=\"toolbar1\">\n <property name=\"visible\">True</property>\n <child internal-child=\"accessible\">\n <object class=\"AtkObject\" id=\"a11y-toolbar\">\n <property name=\"AtkObject::accessible-name\">The toolbar</property>\n </object>\n </child>\n </object>\n <packing>\n <property name=\"expand\">False</property>\n <property name=\"position\">1</property>\n </packing>\n </child>\n <child>\n <object class=\"GtkScrolledWindow\" id=\"scrolledwindow1\">\n <property name=\"visible\">True</property>\n <property name=\"can_focus\">True</property>\n <property name=\"hscrollbar_policy\">automatic</property>\n <property name=\"vscrollbar_policy\">automatic</property>\n <child>\n <object class=\"GtkTreeView\" id=\"cs_list\">\n <property name=\"visible\">True</property>\n <property name=\"can_focus\">True</property>\n <property name=\"model\">cs_store</property>\n <child>\n <object class=\"GtkTreeViewColumn\" id=\"pkts_column\">\n <property name=\"title\">Packets</property>\n <child>\n <object class=\"GtkCellRendererText\" id=\"pkts_cell\"/>\n </child>\n </object>\n </child>\n <child>\n <object class=\"GtkTreeViewColumn\" id=\"treeviewcolumn1\">\n <property name=\"title\">Name</property>\n <child>\n <object class=\"GtkCellRendererText\" id=\"cellrenderertext1\"/>\n <attributes>\n <attribute name=\"text\">0</attribute>\n </attributes>\n </child>\n </object>\n </child>\n </object>\n </child>\n </object>\n <packing>\n <property name=\"position\">2</property>\n </packing>\n </child>\n </object>\n <object class=\"GtkListStore\" id=\"cs_store\">\n <columns>\n <!-- column-name Name -->\n <column type=\"gchararray\"/>\n <!-- column-name CS -->\n <column type=\"GObject\"/>\n </columns>\n </object>\n <object constructor=\"uimanager1\" class=\"GtkMenu\" id=\"popup1\">\n <child internal-child=\"accessible\">\n <object class=\"AtkObject\" id=\"a11y-popup\">\n <property name=\"AtkObject::accessible-name\">The popup menu</property>\n </object>\n </child>\n </object>\n </interface>\n ");
}