Updating branch refs/heads/master to 8e37ead7a30032f2ff99f8d2701db6b89c951b80 (commit) from cef267f3f42e1690fced003775f58cb317227aa6 (commit)
commit 8e37ead7a30032f2ff99f8d2701db6b89c951b80 Author: Jannis Pohlmann <jan...@xfce.org> Date: Tue May 31 15:25:01 2011 +0200 Add demo code for an appfinder mockup idea. .../merge-with-xfrun/demo-code}/Makefile | 0 .../merge-with-xfrun/demo-code/mockup.vala | 142 ++++++++++++++++++++ 2 files changed, 142 insertions(+), 0 deletions(-) diff --git a/thunar/shortcuts-pane/demo-code/tree-view/Makefile b/xfce4-appfinder/merge-with-xfrun/demo-code/Makefile similarity index 100% copy from thunar/shortcuts-pane/demo-code/tree-view/Makefile copy to xfce4-appfinder/merge-with-xfrun/demo-code/Makefile diff --git a/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala b/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala new file mode 100644 index 0000000..fd860f4 --- /dev/null +++ b/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala @@ -0,0 +1,142 @@ +/* vi:set et ai sw=2 sts=2 ts=2: */ +/*- + * Copyright (c) 2011 Jannis Pohlmann <jan...@xfce.org> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +using Gtk; + + + +public class DetailsView : Paned { + private TreeView categories_view { get; set; } + private TreeView applications_view { get; set; } + + public DetailsView() { + set_position (200); + set_size_request (-1, 300); + + var scrollwin1 = new ScrolledWindow (null, null); + scrollwin1.set_policy (PolicyType.AUTOMATIC, PolicyType.AUTOMATIC); + scrollwin1.set_shadow_type (ShadowType.IN); + add1 (scrollwin1); + scrollwin1.show (); + + categories_view = new TreeView (); + scrollwin1.add (categories_view); + categories_view.show (); + + var scrollwin2 = new ScrolledWindow (null, null); + scrollwin2.set_shadow_type (ShadowType.IN); + scrollwin2.set_policy (PolicyType.AUTOMATIC, PolicyType.AUTOMATIC); + add2 (scrollwin2); + scrollwin2.show (); + + var applications_view = new TreeView (); + scrollwin2.add (applications_view); + applications_view.show (); + } +} + + + +public class AppfinderView : Table { + private Image image { get; set; } + private Entry entry { get; set; } + private DetailsView details_view { get; set; } + + public bool expanded { get; set; default = false; } + + public AppfinderView () { + set_homogeneous (false); + set_col_spacings (12); + set_row_spacings (6); + + image = new Image.from_icon_name ("claws-mail", IconSize.DIALOG); + attach (image, 0, 1, 0, 1, AttachOptions.SHRINK, AttachOptions.SHRINK, 0, 0); + + entry = new Entry (); + entry.set_icon_from_stock (EntryIconPosition.PRIMARY, Stock.FIND); + entry.set_icon_from_stock (EntryIconPosition.SECONDARY, Stock.GO_DOWN); + attach (entry, 1, 2, 0, 1, + AttachOptions.FILL | AttachOptions.EXPAND, + AttachOptions.SHRINK, + 0, 0); + + entry.icon_press.connect ((icon_pos, event) => { + if (icon_pos == EntryIconPosition.SECONDARY) { + toggle_expand (); + } + }); + + details_view = new DetailsView (); + details_view.set_no_show_all (true); + attach (details_view, 1, 2, 1, 2, + AttachOptions.FILL | AttachOptions.EXPAND, + AttachOptions.FILL | AttachOptions.EXPAND, + 0, 0); + + notify["expanded"].connect (() => { + details_view.set_visible (expanded); + }); + } + + public void toggle_expand () { + this.expanded = !expanded; + } +} + + + +int main (string[] args) { + Gtk.init (ref args); + + var window = new Window (); + window.title = "Shortcuts Pane Mockup (Tree View)"; + window.set_default_size (600, -1); + window.position = WindowPosition.CENTER; + window.destroy.connect (Gtk.main_quit); + window.set_border_width (8); + + var vbox = new VBox (false, 6); + window.add (vbox); + + var view = new AppfinderView (); + vbox.add (view); + + var buttons = new HButtonBox (); + buttons.set_spacing (6); + buttons.set_layout (ButtonBoxStyle.END); + vbox.pack_start (buttons, false, true, 0); + + var cancel = new Button.from_stock (Stock.CANCEL); + buttons.pack_start (cancel, false, true, 0); + + cancel.clicked.connect (Gtk.main_quit); + + var launch = new Button.with_mnemonic ("_Launch"); + launch.set_image (new Image.from_stock (Stock.EXECUTE, IconSize.BUTTON)); + buttons.pack_start (launch, false, true, 0); + + cancel.clicked.connect (Gtk.main_quit); + + window.show_all (); + + Gtk.main (); + + return 0; +} _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits