diff options
author | Alex Merry <dev@randomguy3.me.uk> | 2012-06-29 15:12:49 +0100 |
---|---|---|
committer | Alex Merry <dev@randomguy3.me.uk> | 2012-06-29 15:12:49 +0100 |
commit | 7b4db7aa75f8e60702fe7828e4be9b06ef7c5fc9 (patch) | |
tree | 6b136cdd1b8161fe6eb53d0f9269ffccc57aeb6a /tikzit/src/gtk/PropertyPane.m | |
parent | 626622b7e570015f5f49e327dfe24660fb221411 (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.m | 41 |
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 |