Mercurial > repos > IBBoard.WarFoundry.GUI.GTK
view gtk-gui/gui.stetic @ 35:1b603f97e7de
Re #86: Complete initial GTK# UI
* Add default config file to build
* Auto-updates of source code
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 16 Jan 2010 11:07:15 +0000 |
parents | eab45344cd56 |
children | d68992a831df |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <stetic-interface> <configuration> <images-root-path>..</images-root-path> <target-gtk-version>2.12</target-gtk-version> </configuration> <import> <widget-library name="../../IBBoard.GtkSharp/bin/Debug/IBBoard.GtkSharp.dll" /> <widget-library name="../bin/Debug/WarFoundryGTK.exe" internal="true" /> </import> <widget class="Gtk.Window" id="IBBoard.WarFoundry.GTK.FrmMainWindow" design-size="832 659"> <action-group name="Default"> <action id="menuFile"> <property name="Type">Action</property> <property name="Label" translatable="yes">File</property> <property name="ShortLabel" translatable="yes">File</property> </action> <action id="miCreateArmy"> <property name="Type">Action</property> <property name="Label" translatable="yes">Create army</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Create army</property> <property name="StockId">gtk-new</property> <signal name="Activated" handler="OnCreateArmyActivated" /> </action> <action id="miOpenArmy"> <property name="Type">Action</property> <property name="Label" translatable="yes">Open army</property> <property name="ShortLabel" translatable="yes">Open army</property> <property name="StockId">gtk-open</property> <signal name="Activated" handler="OnOpenArmyActivated" /> </action> <action id="miSaveArmy"> <property name="Type">Action</property> <property name="Label" translatable="yes">Save army</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Save army</property> <property name="StockId">gtk-save</property> <signal name="Activated" handler="OnSaveArmyActivated" /> </action> <action id="miSaveArmyAs"> <property name="Type">Action</property> <property name="Label" translatable="yes">Save army as</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Save army as</property> <property name="StockId">gtk-save-as</property> <signal name="Activated" handler="OnSaveArmyAsActivated" /> </action> <action id="miCloseArmy"> <property name="Type">Action</property> <property name="Label" translatable="yes">Close army</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Close army</property> <property name="StockId">gtk-close</property> <signal name="Activated" handler="OnCloseArmyActivated" /> </action> <action id="miChangeGameSystem"> <property name="Type">Action</property> <property name="Label" translatable="yes">Change game system</property> <property name="ShortLabel" translatable="yes">Change game system</property> <signal name="Activated" handler="OnChangeGameSystemActivated" after="yes" /> </action> <action id="miReloadFiles"> <property name="Type">Action</property> <property name="Label" translatable="yes">Reload files</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Reload files</property> <property name="StockId">gtk-refresh</property> <signal name="Activated" handler="OnReloadFilesActivated" /> </action> <action id="miExit"> <property name="Type">Action</property> <property name="Label" translatable="yes">Exit</property> <property name="ShortLabel" translatable="yes">Exit</property> <property name="StockId">gtk-quit</property> <signal name="Activated" handler="OnExitActivated" /> </action> <action id="menuEdit"> <property name="Type">Action</property> <property name="Label" translatable="yes">Edit</property> <property name="ShortLabel" translatable="yes">Edit</property> </action> <action id="miUndo"> <property name="Type">Action</property> <property name="Label" translatable="yes">Undo</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Undo</property> <property name="StockId">gtk-undo</property> </action> <action id="miRedo"> <property name="Type">Action</property> <property name="Label" translatable="yes">Redo</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Redo</property> <property name="StockId">gtk-redo</property> </action> <action id="menuHelp"> <property name="Type">Action</property> <property name="Label" translatable="yes">Help</property> <property name="ShortLabel" translatable="yes">Help</property> </action> <action id="miAbout"> <property name="Type">Action</property> <property name="Label" translatable="yes">About</property> <property name="ShortLabel" translatable="yes">About</property> <property name="StockId">gtk-about</property> </action> <action id="miDebugInformation"> <property name="Type">Action</property> <property name="Label" translatable="yes">Debug Information</property> <property name="ShortLabel" translatable="yes">Debug Information</property> </action> <action id="newArmyButton"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> <property name="Sensitive">False</property> <property name="StockId">gtk-new</property> <signal name="Activated" handler="newTBButtonActivated" /> </action> <action id="openArmyButton"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> <property name="StockId">gtk-open</property> <signal name="Activated" handler="openTBButtonActivated" /> </action> <action id="saveArmyButton"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> <property name="Sensitive">False</property> <property name="StockId">gtk-save</property> <signal name="Activated" handler="saveTBButtonActivated" /> </action> <action id="undoActionButton"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> <property name="Sensitive">False</property> <property name="StockId">gtk-undo</property> <signal name="Activated" handler="undoTBButtonActivated" /> </action> <action id="redoActionButton"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> <property name="Sensitive">False</property> <property name="StockId">gtk-redo</property> <signal name="Activated" handler="redoTBButtonActivated" /> </action> <action id="goDown"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> </action> <action id="add"> <property name="Type">Action</property> <property name="Label" translatable="yes" /> <property name="StockId">gtk-add</property> </action> <action id="miExportArmy"> <property name="Type">Action</property> <property name="Label" translatable="yes">Export army as...</property> <property name="Sensitive">False</property> <property name="ShortLabel" translatable="yes">Export army</property> <property name="StockId">gtk-convert</property> </action> <action id="miExportAsBasicHtml"> <property name="Type">Action</property> <property name="Label" translatable="yes">Basic HTML</property> <property name="ShortLabel" translatable="yes">Basic HTML</property> <signal name="Activated" handler="OnMiExportAsBasicHtmlActivated" /> </action> </action-group> <property name="MemberName" /> <property name="Title" translatable="yes">MainWindow</property> <property name="Icon">resource:App.ico</property> <child> <widget class="Gtk.VBox" id="vbox1"> <property name="MemberName" /> <child> <widget class="Gtk.MenuBar" id="menubar1"> <property name="MemberName" /> <node name="menubar1" type="Menubar"> <node type="Menu" action="menuFile"> <node type="Menuitem" action="miCreateArmy" /> <node type="Menuitem" action="miOpenArmy" /> <node type="Menuitem" action="miSaveArmy" /> <node type="Menuitem" action="miSaveArmyAs" /> <node type="Menu" action="miExportArmy"> <node type="Menuitem" action="miExportAsBasicHtml" /> </node> <node type="Menuitem" action="miCloseArmy" /> <node type="Separator" /> <node type="Menuitem" action="miChangeGameSystem" /> <node type="Separator" /> <node type="Menuitem" action="miReloadFiles" /> <node type="Separator" /> <node type="Menuitem" action="miExit" /> </node> <node type="Menu" action="menuEdit"> <node type="Menuitem" action="miUndo" /> <node type="Menuitem" action="miRedo" /> </node> <node type="Menu" action="menuHelp"> <node type="Menuitem" action="miAbout" /> <node type="Menuitem" action="miDebugInformation" /> </node> </node> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Toolbar" id="toolbar"> <property name="MemberName" /> <property name="HeightRequest">36</property> <property name="ShowArrow">False</property> <property name="ButtonStyle">Icons</property> <node name="toolbar" type="Toolbar"> <node type="Toolitem" action="newArmyButton" /> <node type="Toolitem" action="openArmyButton" /> <node type="Toolitem" action="saveArmyButton" /> <node type="Separator" /> <node type="Toolitem" action="undoActionButton" /> <node type="Toolitem" action="redoActionButton" /> <node type="Separator" /> </node> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.HPaned" id="hpaned2"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Position">178</property> <child> <widget class="Gtk.TreeView" id="treeUnits"> <property name="MemberName" /> <property name="CanFocus">True</property> <signal name="RowActivated" handler="ArmyRowActivated" /> <signal name="PopupMenu" handler="OnTreeUnitsPopupMenu" /> <signal name="ButtonPressEvent" handler="UnitTreeButtonPressed" /> </widget> <packing> <property name="Resize">False</property> </packing> </child> <child> <widget class="Gtk.Notebook" id="unitsNotebook"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="CurrentPage">-1</property> </widget> </child> </widget> <packing> <property name="Position">2</property> <property name="AutoSize">True</property> </packing> </child> <child> <widget class="Gtk.Statusbar" id="statusbar1"> <property name="MemberName" /> <property name="Spacing">2</property> <child> <placeholder /> </child> <child> <placeholder /> </child> </widget> <packing> <property name="Position">3</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> </child> </widget> <widget class="Gtk.Dialog" id="IBBoard.WarFoundry.GTK.FrmNewArmy" design-size="400 322"> <property name="MemberName" /> <property name="Events">ButtonPressMask</property> <property name="Title" translatable="yes">Create new army</property> <property name="Icon">stock:gtk-new Menu</property> <property name="WindowPosition">CenterOnParent</property> <property name="SkipPagerHint">True</property> <property name="SkipTaskbarHint">True</property> <property name="Buttons">2</property> <property name="HelpButton">False</property> <child internal-child="VBox"> <widget class="Gtk.VBox" id="dialog_VBox"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Events">ButtonPressMask</property> <property name="BorderWidth">2</property> <child> <widget class="Gtk.Table" id="table1"> <property name="MemberName" /> <property name="NRows">3</property> <property name="NColumns">2</property> <property name="RowSpacing">6</property> <property name="ColumnSpacing">6</property> <child> <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow"> <property name="MemberName" /> <property name="ShadowType">In</property> <child> <widget class="Gtk.TreeView" id="lstRaces"> <property name="MemberName" /> <property name="HeightRequest">150</property> <property name="CanFocus">True</property> <property name="ShowScrollbars">True</property> <property name="HeadersVisible">False</property> <property name="RulesHint">True</property> </widget> </child> </widget> <packing> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">True</property> <property name="YOptions">Fill</property> <property name="XExpand">True</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.HBox" id="hbox2"> <property name="MemberName" /> <child> <widget class="Gtk.SpinButton" id="sbPointsValue"> <property name="MemberName" /> <property name="WidthRequest">150</property> <property name="CanFocus">True</property> <property name="Upper">2000000000</property> <property name="PageIncrement">1000</property> <property name="StepIncrement">100</property> <property name="ClimbRate">100</property> <property name="Numeric">True</property> <property name="Value">1000</property> <signal name="ChangeValue" handler="OnSpinChangeValue" /> <signal name="ValueChanged" handler="OnSpinValueChanged" /> <signal name="Changed" handler="OnSpinValueChanged" /> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <placeholder /> </child> </widget> <packing> <property name="TopAttach">2</property> <property name="BottomAttach">3</property> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">True</property> <property name="YOptions">Fill</property> <property name="XExpand">True</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.Label" id="label1"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Race</property> </widget> <packing> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.Label" id="label2"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Army name</property> </widget> <packing> <property name="TopAttach">1</property> <property name="BottomAttach">2</property> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.Label" id="label3"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Points value</property> </widget> <packing> <property name="TopAttach">2</property> <property name="BottomAttach">3</property> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.Entry" id="txtArmyName"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="IsEditable">True</property> <property name="InvisibleChar">•</property> <signal name="Changed" handler="OnTextChanged" /> </widget> <packing> <property name="TopAttach">1</property> <property name="BottomAttach">2</property> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">True</property> <property name="YOptions">Fill</property> <property name="XExpand">True</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> <property name="Padding">6</property> </packing> </child> </widget> </child> <child internal-child="ActionArea"> <widget class="Gtk.HButtonBox" id="WarFoundrySharp.FrmNewArmy_ActionArea"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Events">ButtonPressMask</property> <property name="Spacing">6</property> <property name="BorderWidth">5</property> <property name="Size">2</property> <property name="LayoutStyle">End</property> <child> <widget class="Gtk.Button" id="bttnCancel"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="UseStock">True</property> <property name="Type">StockItem</property> <property name="StockId">gtk-cancel</property> <property name="ResponseId">-6</property> <signal name="Clicked" handler="OnCancelClicked" /> <property name="label">gtk-cancel</property> </widget> <packing> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Button" id="bttnCreate"> <property name="MemberName" /> <property name="Sensitive">False</property> <property name="CanDefault">True</property> <property name="CanFocus">True</property> <property name="Type">TextAndIcon</property> <property name="Icon">stock:gtk-ok Menu</property> <property name="Label" translatable="yes">C_reate</property> <property name="UseUnderline">True</property> <property name="ResponseId">-5</property> <signal name="Clicked" handler="OnCreateClicked" /> </widget> <packing> <property name="Position">1</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> </child> </widget> <widget class="Gtk.Dialog" id="IBBoard.WarFoundry.GTK.FrmChangeGameSystem" design-size="527 257"> <property name="MemberName" /> <property name="Title" translatable="yes">Change Game System</property> <property name="Icon">resource:App.ico</property> <property name="TypeHint">Dialog</property> <property name="WindowPosition">CenterOnParent</property> <property name="Modal">True</property> <property name="Resizable">False</property> <property name="AllowGrow">False</property> <property name="DefaultWidth">400</property> <property name="DefaultHeight">300</property> <property name="SkipPagerHint">True</property> <property name="SkipTaskbarHint">True</property> <property name="Buttons">2</property> <property name="HelpButton">False</property> <child internal-child="VBox"> <widget class="Gtk.VBox" id="dialog1_VBox"> <property name="MemberName" /> <property name="Spacing">6</property> <property name="BorderWidth">2</property> <child> <widget class="Gtk.HBox" id="hbox1"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.Label" id="lblGameSystem"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Game System</property> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">False</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow"> <property name="MemberName" /> <property name="ShadowType">In</property> <child> <widget class="Gtk.TreeView" id="lstGameSystems"> <property name="MemberName" /> <property name="WidthRequest">250</property> <property name="HeightRequest">125</property> <property name="CanFocus">True</property> <property name="ShowScrollbars">True</property> <property name="HeadersVisible">False</property> <signal name="RowActivated" handler="lstGameSystemsRowActivated" /> </widget> </child> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> </packing> </child> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">False</property> </packing> </child> </widget> </child> <child internal-child="ActionArea"> <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> <property name="MemberName" /> <property name="Spacing">6</property> <property name="BorderWidth">5</property> <property name="Size">2</property> <property name="LayoutStyle">End</property> <child> <widget class="Gtk.Button" id="buttonCancel"> <property name="MemberName" /> <property name="CanDefault">True</property> <property name="CanFocus">True</property> <property name="UseStock">True</property> <property name="Type">StockItem</property> <property name="StockId">gtk-cancel</property> <property name="ResponseId">-6</property> <signal name="Clicked" handler="OnCancel" /> <property name="label">gtk-cancel</property> </widget> <packing> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Button" id="buttonOk"> <property name="MemberName" /> <property name="Sensitive">False</property> <property name="CanDefault">True</property> <property name="CanFocus">True</property> <property name="UseStock">True</property> <property name="Type">StockItem</property> <property name="StockId">gtk-ok</property> <property name="ResponseId">-5</property> <signal name="Clicked" handler="OnGameSystemOkayClicked" /> <property name="label">gtk-ok</property> </widget> <packing> <property name="Position">1</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> </child> </widget> <widget class="Gtk.Dialog" id="IBBoard.WarFoundry.GTK.FrmNewUnit" design-size="400 318"> <property name="MemberName" /> <property name="Title" translatable="yes">Add new unit</property> <property name="Icon">stock:gtk-new Menu</property> <property name="WindowPosition">CenterOnParent</property> <property name="Modal">True</property> <property name="SkipPagerHint">True</property> <property name="SkipTaskbarHint">True</property> <property name="Buttons">2</property> <property name="HelpButton">False</property> <child internal-child="VBox"> <widget class="Gtk.VBox" id="dialog1_VBox"> <property name="MemberName" /> <property name="BorderWidth">2</property> <child> <widget class="Gtk.VBox" id="vbox2"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.HBox" id="hbox1"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.Label" id="label1"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Unit Type:</property> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow"> <property name="MemberName" /> <property name="ShadowType">In</property> <child> <widget class="Gtk.TreeView" id="lstUnitTypes"> <property name="MemberName" /> <property name="HeightRequest">150</property> <property name="CanFocus">True</property> <property name="ShowScrollbars">True</property> <property name="HeadersVisible">False</property> <signal name="RowActivated" handler="OnRowActivated" /> </widget> </child> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> </packing> </child> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Label" id="lblNewUnitWarning"> <property name="MemberName" /> <property name="Xalign">0</property> <property name="Yalign">0</property> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> </child> <child internal-child="ActionArea"> <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> <property name="MemberName" /> <property name="Spacing">6</property> <property name="BorderWidth">5</property> <property name="Size">2</property> <property name="LayoutStyle">End</property> <child> <widget class="Gtk.Button" id="buttonCancel"> <property name="MemberName" /> <property name="CanDefault">True</property> <property name="CanFocus">True</property> <property name="UseStock">True</property> <property name="Type">StockItem</property> <property name="StockId">gtk-cancel</property> <property name="ResponseId">-6</property> <signal name="Activated" handler="OnButtonCancelActivated" /> <property name="label">gtk-cancel</property> </widget> <packing> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Button" id="buttonOk"> <property name="MemberName" /> <property name="Sensitive">False</property> <property name="CanDefault">True</property> <property name="CanFocus">True</property> <property name="UseStock">True</property> <property name="Type">StockItem</property> <property name="StockId">gtk-ok</property> <property name="ResponseId">-5</property> <signal name="Clicked" handler="OnButtonOkClicked" /> <property name="label">gtk-ok</property> </widget> <packing> <property name="Position">1</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> </child> </widget> <widget class="Gtk.Bin" id="IBBoard.WarFoundry.GTK.Widgets.UnitDisplayWidget" design-size="649 422"> <property name="MemberName" /> <child> <widget class="Gtk.VBox" id="vbox1"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.HBox" id="hbox1"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.Entry" id="unitName"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="IsEditable">True</property> <property name="InvisibleChar">•</property> <signal name="FocusOutEvent" handler="OnUnitNameFocusOut" /> <signal name="KeyPressEvent" handler="OnUnitNameKeyPress" /> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> </packing> </child> <child> <widget class="Gtk.SpinButton" id="unitSize"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Upper">100</property> <property name="PageIncrement">10</property> <property name="StepIncrement">1</property> <property name="ClimbRate">1</property> <property name="Numeric">True</property> <signal name="FocusOutEvent" handler="OnUnitSizeFocusOut" /> <signal name="KeyPressEvent" handler="OnUnitSizeKeyPress" /> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow"> <property name="MemberName" /> <property name="ShadowType">In</property> <child> <widget class="Gtk.NodeView" id="unitStats"> <property name="MemberName" /> <property name="HeightRequest">75</property> <property name="CanFocus">True</property> <property name="ShowScrollbars">True</property> </widget> </child> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> </packing> </child> <child> <widget class="Gtk.HSeparator" id="hseparator1"> <property name="MemberName" /> </widget> <packing> <property name="Position">2</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Table" id="table1"> <property name="MemberName" /> <property name="NRows">2</property> <property name="NColumns">3</property> <property name="RowSpacing">6</property> <property name="ColumnSpacing">6</property> <child> <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow1"> <property name="MemberName" /> <property name="ShadowType">In</property> <child> <widget class="Gtk.NodeView" id="optionalEquipment"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="ShowScrollbars">True</property> </widget> </child> </widget> <packing> <property name="TopAttach">1</property> <property name="BottomAttach">2</property> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">True</property> <property name="YOptions">Fill</property> <property name="XExpand">True</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow2"> <property name="MemberName" /> <property name="ShadowType">In</property> <child> <widget class="Gtk.NodeView" id="requiredEquipment"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="ShowScrollbars">True</property> </widget> </child> </widget> <packing> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">True</property> <property name="YOptions">Fill</property> <property name="XExpand">True</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.Label" id="optionalEquipmentLabel"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Optional Equipment:</property> </widget> <packing> <property name="TopAttach">1</property> <property name="BottomAttach">2</property> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.Label" id="requiredEquipmentLabel"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Required Equipment:</property> </widget> <packing> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.VBox" id="vbox2"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.Button" id="bttnReplaceRequired"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Type">TextOnly</property> <property name="Label" translatable="yes">Replace</property> <property name="UseUnderline">True</property> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Button" id="bttnEditRequired"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Type">TextOnly</property> <property name="Label" translatable="yes">Edit</property> <property name="UseUnderline">True</property> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <placeholder /> </child> </widget> <packing> <property name="LeftAttach">2</property> <property name="RightAttach">3</property> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> <child> <widget class="Gtk.VBox" id="vbox3"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <widget class="Gtk.Button" id="bttnAddOptional"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Type">TextOnly</property> <property name="Label" translatable="yes">Add</property> <property name="UseUnderline">True</property> </widget> <packing> <property name="Position">0</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Button" id="bttnEditOptional"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Type">TextOnly</property> <property name="Label" translatable="yes">Edit</property> <property name="UseUnderline">True</property> </widget> <packing> <property name="Position">1</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.Button" id="bttnRemove"> <property name="MemberName" /> <property name="CanFocus">True</property> <property name="Type">TextOnly</property> <property name="Label" translatable="yes">Remove</property> <property name="UseUnderline">True</property> </widget> <packing> <property name="Position">2</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> </widget> <packing> <property name="TopAttach">1</property> <property name="BottomAttach">2</property> <property name="LeftAttach">2</property> <property name="RightAttach">3</property> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> <property name="XExpand">False</property> <property name="XFill">True</property> <property name="XShrink">False</property> <property name="YExpand">False</property> <property name="YFill">True</property> <property name="YShrink">False</property> </packing> </child> </widget> <packing> <property name="Position">3</property> <property name="AutoSize">True</property> <property name="Expand">False</property> <property name="Fill">False</property> </packing> </child> <child> <widget class="Gtk.HBox" id="hbox2"> <property name="MemberName" /> <property name="Spacing">6</property> <child> <placeholder /> </child> <child> <placeholder /> </child> <child> <placeholder /> </child> </widget> <packing> <property name="Position">4</property> <property name="AutoSize">True</property> </packing> </child> </widget> </child> </widget> </stetic-interface>