Files
Vektor/ui/main.ui
2026-03-06 21:21:56 +07:00

172 lines
8.5 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-->
<!--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">vektor-tool-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">vektor-line-symbolic</property>
</object>
</child>
<!--Rectangle tool-->
<child>
<object class="GtkButton" id="button_rectangletool">
<property name="icon-name">vektor-rect-symbolic</property>
</object>
</child>
<!--Circle tool-->
<child>
<object class="GtkButton" id="button_circletool">
<property name="icon-name">vektor-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="GtkFrame" id="sidepanel">
<property name="label">Sidepanel</property>
</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>