summaryrefslogtreecommitdiff
path: root/tikzit/src/gtk/PropertyPane.m
diff options
context:
space:
mode:
authorAlex Merry <dev@randomguy3.me.uk>2012-06-29 15:12:49 +0100
committerAlex Merry <dev@randomguy3.me.uk>2012-06-29 15:12:49 +0100
commit7b4db7aa75f8e60702fe7828e4be9b06ef7c5fc9 (patch)
tree6b136cdd1b8161fe6eb53d0f9269ffccc57aeb6a /tikzit/src/gtk/PropertyPane.m
parent626622b7e570015f5f49e327dfe24660fb221411 (diff)
Be helpful about which panes are visible
If only one property/style pane is visible, auto-switch between them depending on the tool.
Diffstat (limited to 'tikzit/src/gtk/PropertyPane.m')
-rw-r--r--tikzit/src/gtk/PropertyPane.m41
1 files changed, 41 insertions, 0 deletions
diff --git a/tikzit/src/gtk/PropertyPane.m b/tikzit/src/gtk/PropertyPane.m
index df29165..8a71a82 100644
--- a/tikzit/src/gtk/PropertyPane.m
+++ b/tikzit/src/gtk/PropertyPane.m
@@ -260,6 +260,47 @@ static void edge_node_toggled_cb (GtkToggleButton *widget, PropertyPane *pane);
value:gtk_expander_get_expanded (edgePropsExpander)];
}
+- (int) expandedPaneCount {
+ int eps = 0;
+ if (gtk_expander_get_expanded (graphPropsExpander))
+ eps++;
+ if (gtk_expander_get_expanded (nodePropsExpander))
+ eps++;
+ if (gtk_expander_get_expanded (edgePropsExpander))
+ eps++;
+ return eps;
+}
+
+- (void) favourGraphProperties {
+ if (!gtk_expander_get_expanded (graphPropsExpander)) {
+ if ([self expandedPaneCount] == 1) {
+ gtk_expander_set_expanded (nodePropsExpander, FALSE);
+ gtk_expander_set_expanded (edgePropsExpander, FALSE);
+ gtk_expander_set_expanded (graphPropsExpander, TRUE);
+ }
+ }
+}
+
+- (void) favourNodeProperties {
+ if (!gtk_expander_get_expanded (nodePropsExpander)) {
+ if ([self expandedPaneCount] == 1) {
+ gtk_expander_set_expanded (graphPropsExpander, FALSE);
+ gtk_expander_set_expanded (edgePropsExpander, FALSE);
+ gtk_expander_set_expanded (nodePropsExpander, TRUE);
+ }
+ }
+}
+
+- (void) favourEdgeProperties {
+ if (!gtk_expander_get_expanded (edgePropsExpander)) {
+ if ([self expandedPaneCount] == 1) {
+ gtk_expander_set_expanded (graphPropsExpander, FALSE);
+ gtk_expander_set_expanded (nodePropsExpander, FALSE);
+ gtk_expander_set_expanded (edgePropsExpander, TRUE);
+ }
+ }
+}
+
@end
// }}}
// {{{ Notifications