public static Widget GetButton (Action action, bool label) { Widget w = action.CreateIcon (IconSize.Button); if (label) { HBox box = new HBox (); box.PackStart (w, false, false, 0); Label l = new Label (); l.Markup = "<small>" + action.Label + "</small>"; box.PackStart (l); w = box; } Button button; if (action is ToggleAction) { ToggleButton toggle = new ToggleButton (); toggle.Active = ((ToggleAction)action).Active; button = toggle; } else { button = new Button (); } button.Relief = ReliefStyle.None; button.Add (w); w.ShowAll (); action.ConnectProxy (button); tips.SetTip (button, action.Tooltip, String.Empty); return button; }