feat: revealer-based tool menu

This commit is contained in:
beriff
2026-03-06 21:21:56 +07:00
parent 8e09748d3e
commit b41da278f5
10 changed files with 127 additions and 11 deletions

View File

@@ -45,13 +45,6 @@
<!--Main canvas-->
<child>
<!-- <object class="GtkPicture" id="workspace">
<property name="content-fit">contain</property>
<property name="hexpand">true</property>
<property name="vexpand">true</property>
</object> -->
<object class="GtkGLArea" id="workspace">
<property name="hexpand">true</property>
<property name="vexpand">true</property>
@@ -71,15 +64,64 @@
<property name="margin-bottom">12</property>
<!--Tool buttons-->
<!--Shape tool (row container)-->
<child>
<object class="GtkButton" id="button_linetool">
<property name="icon-name">insert-object-symbolic</property>
<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">
<object class="GtkButton" id="button_copytool">
<property name="icon-name">edit-copy-symbolic</property>
<property name="halign">start</property>
</object>
</child>
@@ -99,8 +141,32 @@
</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>