summaryrefslogtreecommitdiff
path: root/tikzit/src/gtk/PropertyPane.m
diff options
context:
space:
mode:
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