273 lines
15 KiB
XML
273 lines
15 KiB
XML
<interface>
|
|
<requires lib="gtk" version="4.0"/>
|
|
|
|
<!--Topbar-->
|
|
<menu id="topbar">
|
|
<submenu>
|
|
<attribute name="label">File</attribute>
|
|
<item><attribute name="label">New</attribute><attribute name="action">app.new</attribute></item>
|
|
<item><attribute name="label">Open</attribute><attribute name="action">app.open</attribute></item>
|
|
<item><attribute name="label">Save</attribute><attribute name="action">app.save</attribute></item>
|
|
|
|
<section>
|
|
<item><attribute name="label">Quit</attribute><attribute name="action">app.quit</attribute></item>
|
|
</section>
|
|
</submenu>
|
|
</menu>
|
|
|
|
<!--Main window-->
|
|
<object class="GtkApplicationWindow" id="main_window">
|
|
<property name="default-width">600</property>
|
|
<property name="default-height">400</property>
|
|
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
|
|
<!--Topbar-->
|
|
<child>
|
|
<object class="GtkPopoverMenuBar">
|
|
<property name="menu-model">topbar</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Main area below-->
|
|
<child>
|
|
<object class="GtkPaned" id="workspace_paned">
|
|
<property name="orientation">horizontal</property>
|
|
<property name="vexpand">true</property>
|
|
<property name="wide-handle">true</property>
|
|
|
|
|
|
<child>
|
|
<!--Overlay to hold tool selector and canvas-->
|
|
<object class="GtkOverlay">
|
|
|
|
<!--Main canvas-->
|
|
<child>
|
|
<object class="GtkGLArea" id="workspace">
|
|
<property name="hexpand">true</property>
|
|
<property name="vexpand">true</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Tool selector-->
|
|
<child type="overlay">
|
|
<object class="GtkBox" id="toolstrip">
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">6</property>
|
|
<property name="halign">start</property>
|
|
<property name="valign">center</property>
|
|
|
|
<property name="margin-start">12</property>
|
|
<property name="margin-top">12</property>
|
|
<property name="margin-bottom">12</property>
|
|
|
|
<!--Tool buttons-->
|
|
|
|
<!--Select tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_selecttool">
|
|
<property name="icon-name">tool-select-symbolic</property>
|
|
<property name="halign">start</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Shape tool (row container)-->
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">horizontal</property>
|
|
|
|
<!--Shape tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_shapetools">
|
|
<property name="icon-name">tool-line-symbolic</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Shape subtools revealer-->
|
|
<child>
|
|
<object class="GtkRevealer" id="shape_revealer">
|
|
<property name="transition-type">slide-right</property>
|
|
|
|
<!--Subtool container-->
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">horizontal</property>
|
|
|
|
<!--Line tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_linetool">
|
|
<property name="icon-name">tool-line-symbolic</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Rectangle tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_rectangletool">
|
|
<property name="icon-name">tool-rectangle-symbolic</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Polygon tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_polygontool">
|
|
<property name="icon-name">tool-polygon-symbolic</property>
|
|
</object>
|
|
</child>
|
|
|
|
<!--Circle tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_circletool">
|
|
<property name="icon-name">tool-circle-symbolic</property>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<!--Copy tool-->
|
|
<child>
|
|
<object class="GtkButton" id="button_copytool">
|
|
<property name="icon-name">edit-copy-symbolic</property>
|
|
<property name="halign">start</property>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<!--Sidepanel (layers & modifiers)-->
|
|
<child>
|
|
<object class="GtkPaned" id="sidepanel">
|
|
<property name="orientation">vertical</property>
|
|
<property name="wide-handle">true</property>
|
|
<property name="hexpand">true</property>
|
|
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="hexpand">true</property>
|
|
<property name="vexpand">true</property>
|
|
<property name="margin-start">6</property>
|
|
<property name="margin-end">6</property>
|
|
<property name="margin-top">6</property>
|
|
<property name="margin-bottom">6</property>
|
|
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">vertical</property>
|
|
|
|
<child>
|
|
<object class="VektorColorWheel" id="color_picker">
|
|
<property name="hexpand">true</property>
|
|
<property name="vexpand">true</property>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkBox">
|
|
<property name="orientation">horizontal</property>
|
|
<property name="halign">center</property>
|
|
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label">R</property>
|
|
<property name="margin-start">6</property>
|
|
<property name="margin-end">6</property>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkEntry" id="spin_color_r">
|
|
<property name="text">0</property>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label">G</property>
|
|
<property name="margin-start">6</property>
|
|
<property name="margin-end">6</property>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkEntry" id="spin_color_g">
|
|
<property name="text">0</property>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkLabel">
|
|
<property name="label">B</property>
|
|
<property name="margin-start">6</property>
|
|
<property name="margin-end">6</property>
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkEntry" id="spin_color_b">
|
|
<property name="text">0</property>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<child>
|
|
<object class="GtkFrame">
|
|
<property name="label">Modifiers</property>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
<!--Footer-->
|
|
<child>
|
|
<object class="GtkBox" id="footer">
|
|
<style><class name="footer"/></style>
|
|
|
|
<property name="orientation">horizontal</property>
|
|
<property name="margin-start">6</property>
|
|
<property name="margin-end">6</property>
|
|
<property name="margin-top">3</property>
|
|
<property name="margin-bottom">3</property>
|
|
|
|
<!--Footer status bar-->
|
|
<child>
|
|
<object class="GtkLabel" id="footer_status">
|
|
<property name="label">0 MiB</property>
|
|
<property name="xalign">0</property>
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
</child>
|
|
|
|
</object>
|
|
|
|
|
|
</interface> |