testing improvement to Database Editor

This commit is contained in:
Michael Becker 2021-08-14 23:37:53 -04:00
parent 81e5ff40f5
commit fdbeb208e9
No known key found for this signature in database
GPG Key ID: 98C333A81F18C22C
2 changed files with 132 additions and 79 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.2 -->
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkTreeStore" id="tsColumns">
@ -9,89 +9,102 @@
<!-- column-name colColumnDataType -->
<column type="gchararray"/>
<!-- column-name colColumnNotNull -->
<column type="gchararray"/>
<column type="gboolean"/>
<!-- column-name colColumnIdentity -->
<column type="gchararray"/>
<column type="gboolean"/>
<!-- column-name colColumnDefaultValue -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkWindow">
<property name="can_focus">False</property>
<child type="titlebar">
<placeholder/>
</child>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<!-- n-columns=3 n-rows=3 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">8</property>
<property name="margin_right">8</property>
<property name="margin_top">8</property>
<property name="margin_bottom">8</property>
<property name="row_spacing">8</property>
<property name="column_spacing">8</property>
<property name="can-focus">False</property>
<property name="margin-left">8</property>
<property name="margin-right">8</property>
<property name="margin-top">8</property>
<property name="margin-bottom">8</property>
<property name="row-spacing">8</property>
<property name="column-spacing">8</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_Name</property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_Description </property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="txtName">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can-focus">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTextView" id="txtDescription">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can-focus">True</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
@ -103,24 +116,24 @@
<child>
<object class="GtkNotebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkToolbar" id="tbColumns">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkToolButton" id="tbColumnAdd">
<object class="GtkToolButton" id="tsbColumnAdd">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Add</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Add</property>
<property name="label" translatable="yes">_Add</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-add</property>
<property name="use-underline">True</property>
<property name="stock-id">gtk-add</property>
</object>
<packing>
<property name="expand">False</property>
@ -128,13 +141,13 @@
</packing>
</child>
<child>
<object class="GtkToolButton" id="tbColumnEdit">
<object class="GtkToolButton" id="tsbColumnEdit">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Edit</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Edit</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-edit</property>
<property name="use-underline">True</property>
<property name="stock-id">gtk-edit</property>
</object>
<packing>
<property name="expand">False</property>
@ -142,13 +155,13 @@
</packing>
</child>
<child>
<object class="GtkToolButton" id="tbColumnRemove">
<object class="GtkToolButton" id="tsbColumnRemove">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Remove</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Remove</property>
<property name="label" translatable="yes">_Remove</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-remove</property>
<property name="use-underline">True</property>
<property name="stock-id">gtk-remove</property>
</object>
<packing>
<property name="expand">False</property>
@ -158,7 +171,7 @@
<child>
<object class="GtkSeparatorToolItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
@ -166,13 +179,13 @@
</packing>
</child>
<child>
<object class="GtkToolButton" id="tbColumnMoveUp">
<object class="GtkToolButton" id="tsbColumnMoveUp">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Move Up</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Move Up</property>
<property name="label" translatable="yes">Move _Up</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-go-up</property>
<property name="use-underline">True</property>
<property name="stock-id">gtk-go-up</property>
</object>
<packing>
<property name="expand">False</property>
@ -180,13 +193,13 @@
</packing>
</child>
<child>
<object class="GtkToolButton" id="tbColumnMoveDown">
<object class="GtkToolButton" id="tsbColumnMoveDown">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Move Down</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Move Down</property>
<property name="label" translatable="yes">Move _Down</property>
<property name="use_underline">True</property>
<property name="stock_id">gtk-go-down</property>
<property name="use-underline">True</property>
<property name="stock-id">gtk-go-down</property>
</object>
<packing>
<property name="expand">False</property>
@ -203,12 +216,12 @@
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="tvColumns">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can-focus">True</property>
<property name="model">tsColumns</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
@ -219,9 +232,11 @@
<property name="title" translatable="yes">Name</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_column_id">0</property>
<property name="sort-column-id">0</property>
<child>
<object class="GtkCellRendererText"/>
<object class="GtkCellRendererText">
<property name="editable">True</property>
</object>
<attributes>
<attribute name="text">0</attribute>
</attributes>
@ -234,7 +249,7 @@
<property name="title" translatable="yes">Data type</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_column_id">1</property>
<property name="sort-column-id">1</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
@ -249,11 +264,11 @@
<property name="title" translatable="yes">Not null</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_column_id">2</property>
<property name="sort-column-id">2</property>
<child>
<object class="GtkCellRendererText"/>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="text">2</attribute>
<attribute name="active">2</attribute>
</attributes>
</child>
</object>
@ -264,11 +279,11 @@
<property name="title" translatable="yes">Identity</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_column_id">3</property>
<property name="sort-column-id">3</property>
<child>
<object class="GtkCellRendererText"/>
<object class="GtkCellRendererToggle"/>
<attributes>
<attribute name="text">3</attribute>
<attribute name="active">3</attribute>
</attributes>
</child>
</object>
@ -279,7 +294,7 @@
<property name="title" translatable="yes">Default value</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_column_id">4</property>
<property name="sort-column-id">4</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
@ -302,11 +317,11 @@
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Columns</property>
</object>
<packing>
<property name="tab_fill">False</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
@ -315,12 +330,12 @@
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Constraints</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
@ -329,12 +344,12 @@
<child type="tab">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Indexes</property>
</object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
<property name="tab-fill">False</property>
</packing>
</child>
</object>

View File

@ -67,6 +67,44 @@ namespace UniversalEditor.UserInterface.Editors.Database.Views
Update();
}
protected override void OnCreated(EventArgs e)
{
base.OnCreated(e);
((ToolbarItemButton)tbColumns.Items["tsbColumnAdd"]).Click += tsbColumnAdd_Click;
((ToolbarItemButton)tbColumns.Items["tsbColumnEdit"]).Click += tsbColumnEdit_Click;
((ToolbarItemButton)tbColumns.Items["tsbColumnRemove"]).Click += tsbColumnRemove_Click;
((ToolbarItemButton)tbColumns.Items["tsbColumnMoveUp"]).Click += tsbColumnMoveUp_Click;
((ToolbarItemButton)tbColumns.Items["tsbColumnMoveDown"]).Click += tsbColumnMoveDown_Click;
}
private void tsbColumnAdd_Click(object sender, EventArgs e)
{
TreeModelRow row = new TreeModelRow(new TreeModelRowColumn[]
{
new TreeModelRowColumn(tvColumns.Model.Columns[0], ""), // Name
new TreeModelRowColumn(tvColumns.Model.Columns[1], ""), // Data type
new TreeModelRowColumn(tvColumns.Model.Columns[2], true), // Not null
new TreeModelRowColumn(tvColumns.Model.Columns[3], false), // Identity
new TreeModelRowColumn(tvColumns.Model.Columns[4], "") // Default value
});
tvColumns.Model.Rows.Add(row);
tvColumns.Focus(row, tvColumns.Columns[0], tvColumns.Columns[0].Renderers[0], true);
}
private void tsbColumnEdit_Click(object sender, EventArgs e)
{
}
private void tsbColumnRemove_Click(object sender, EventArgs e)
{
}
private void tsbColumnMoveUp_Click(object sender, EventArgs e)
{
}
private void tsbColumnMoveDown_Click(object sender, EventArgs e)
{
}
private void Update()
{
if (Table != null)