Пример #1
0
 public static void AddWidgetItem(this Toolbar tb, Widget w)
 {
     w.Show ();
     ToolItem ti = new ToolItem ();
     ti.Add (w);
     ti.Show ();
     tb.Insert (ti, tb.NItems);
 }
Пример #2
0
 public static void AppendItem(this Toolbar tb, ToolItem item)
 {
     item.Show ();
     tb.Insert (item, tb.NItems);
 }
Пример #3
0
        public MainWindow()
        {
            ToolItem        spacerItem;
            FileSearchEntry searchEntry;
            ToolItem        searchEntryItem;
            Alignment       searchEntryBox;

            object[] attrs= Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), true);
            AssemblyTitleAttribute attr = (AssemblyTitleAttribute)attrs[0];
            AssemblyName asmName = Assembly.GetExecutingAssembly().GetName();

            string title = String.Format ("{0} (BETA) {1} (Protocol Version: {2})",
                                      attr.Title, asmName.Version,
                                      Core.ProtocolVersion);

            // Create the interface
            window = new Window (title);
            window.SetDefaultSize (850, 550);
            window.DeleteEvent += on_win_delete;
            window.ConfigureEvent += on_MainWindow_configure_event;
            window.FocusInEvent += window_FocusInEvent;

            ((ToggleAction)Runtime.BuiltinActions["ToggleMainToolbar"]).Active = Gui.Settings.ShowToolbar;
            Runtime.BuiltinActions["ToggleMainToolbar"].Activated += ToggleMainToolbar_Activated;

            ((ToggleAction)Runtime.BuiltinActions["ToggleMainStatusbar"]).Active = Gui.Settings.ShowStatusBar;
            Runtime.BuiltinActions["ToggleMainStatusbar"].Activated += ToggleMainStatusbar_Activated;
            window.AddAccelGroup (Runtime.UIManager.AccelGroup);

            mainVBox = new VBox ();
            window.Add (mainVBox);
            mainVBox.Show ();

            if (Common.OSName == "Darwin") {
                MenuBar menubar = (MenuBar) Runtime.UIManager.GetWidget ("/OSXAppMenu");

                Imendio.MacIntegration.Menu.SetMenuBar(menubar);

                MenuItem preferencesItem = (MenuItem) Runtime.UIManager.GetWidget ("/OSXAppMenu/NetworkMenu/Preferences");
                MenuItem aboutItem = (MenuItem) Runtime.UIManager.GetWidget ("/OSXAppMenu/NetworkMenu/About");

                IntPtr group = Imendio.MacIntegration.Menu.AddAppMenuGroup();

                Imendio.MacIntegration.Menu.AddAppMenuItem(group, aboutItem, "About Meshwork");

                group = Imendio.MacIntegration.Menu.AddAppMenuGroup();

                Imendio.MacIntegration.Menu.AddAppMenuItem(group, preferencesItem, "Preferences");

                MenuItem quitItem = (MenuItem) Runtime.UIManager.GetWidget ("/OSXAppMenu/NetworkMenu/Quit");
                Imendio.MacIntegration.Menu.SetQuitMenuItem(quitItem);
            } else {
                MenuBar menubar = (MenuBar) Runtime.UIManager.GetWidget ("/MainWindowMenuBar");
                mainVBox.PackStart (menubar, false, false, 0);
                menubar.Show ();
            }

            toolbar = (Toolbar) Runtime.UIManager.GetWidget ("/MainWindowToolbar");
            toolbar.ToolbarStyle = ToolbarStyle.BothHoriz;
            toolbar.IconSize = IconSize.LargeToolbar;

            spacerItem = new ToolItem();
            spacerItem.Expand = true;
            toolbar.Insert(spacerItem, -1);
            spacerItem.Show();

            searchEntry = new FileSearchEntry();

            searchEntryBox = new Alignment(0.5f, 0.5f, 0, 0);
            searchEntryBox.LeftPadding = 4;
            searchEntryBox.RightPadding = 1;
            searchEntryBox.Add(searchEntry);

            searchEntryItem = new ToolItem();
            searchEntryItem.Add(searchEntryBox);

            toolbar.Insert(searchEntryItem, -1);
            searchEntryItem.ShowAll();

            mainVBox.PackStart (toolbar, false, false, 0);

            mainPaned = new HPaned();
            mainPaned.Mapped += delegate (object sender, EventArgs args) {
                // XXX: Remember the user's last setting instead
                mainPaned.Position = 190;

                // Set some colors
                //infoBoxSeparator.ModifyBg(StateType.Normal, GtkHelper.DarkenColor (mainbar.Style.Background(StateType.Normal), 2));
                //infoSwitcherTree.ModifyBase(StateType.Normal, infoSwitcherTree.Style.Base(StateType.Active));
                //infoSwitcherTree.ModifyBase(StateType.Active, infoBoxSeparator.Style.Base(StateType.Selected));
            };
            mainPaned.Show();
            mainVBox.PackStart (mainPaned, true, true, 0);

            // Create page notebook
            pageNotebook = new Notebook();
            pageNotebook.ShowTabs = false;
            pageNotebook.ShowBorder = false;
            mainPaned.Pack2(pageNotebook, true, true);
            pageNotebook.ShowAll();

            // Create sidebar
            sidebar = new MainSidebar();
            sidebar.ItemAdded += sidebar_ItemAdded;
            sidebar.SelectedItemChanged += sidebar_SelectedItemChanged;
            sidebar.AddBuiltinItems();

            mainPaned.Pack1(sidebar, false, false);
            sidebar.ShowAll();

            CreateStatusbar ();

            // Apply "view" settings
            toolbar.Visible = Gui.Settings.ShowToolbar;
            statusBar.Visible = Gui.Settings.ShowStatusBar;

            // Hook up Core events
            Core.ShareBuilder.StartedIndexing  += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sb_StartedIndexing));
            Core.ShareBuilder.FinishedIndexing += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sb_FinishedIndexing));
            Core.ShareBuilder.StoppedIndexing  += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sb_StoppedIndexing));
            Core.ShareBuilder.ErrorIndexing    += (ErrorEventHandler)DispatchService.GuiDispatch(new ErrorEventHandler(sb_ErrorIndexing));
            Core.ShareHasher.StartedHashingFile += (ShareHasherTaskEventHandler)DispatchService.GuiDispatch(new ShareHasherTaskEventHandler(sh_StartedFinished));
            Core.ShareHasher.FinishedHashingFile += (ShareHasherTaskEventHandler)DispatchService.GuiDispatch(new ShareHasherTaskEventHandler(sh_StartedFinished));
            Core.ShareHasher.QueueChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sh_QueueChanged));

            Core.FileSearchManager.SearchAdded   += (FileSearchEventHandler)DispatchService.GuiDispatch(new FileSearchEventHandler(FileSearchManager_SearchAdded));
            Core.FileSearchManager.SearchRemoved += (FileSearchEventHandler)DispatchService.GuiDispatch(new FileSearchEventHandler(FileSearchManager_SearchRemoved));

            window.Resize (Gui.Settings.WindowSize.Width, Gui.Settings.WindowSize.Height);
            window.Move (Gui.Settings.WindowPosition.X, Gui.Settings.WindowPosition.Y);

            SelectedPage = NetworkOverviewPage.Instance;
        }
Пример #4
0
        private void CreateStatusbar()
        {
            statusBar = new Toolbar();
            statusBar.ShowArrow = false;
            statusBar.ToolbarStyle = ToolbarStyle.BothHoriz;
            statusBar.ExposeEvent +=  StatusBarExposeEvent;

            statusLabel = new Label();
            statusLabel.Xalign = 0;
            statusLabel.Xpad = 6;

            ToolItem statusLabelItem = new ToolItem();
            Alignment statusAlign = new Alignment(0.5f, 0.5f, 1.0f, 1.0f);
            statusLabelItem.Add(statusLabel);
            statusLabelItem.Expand = true;
            statusBar.Insert(statusLabelItem, -1);
            statusLabelItem.ShowAll();

            taskStatusIcon = new Hyena.Widgets.AnimatedImage();
            taskStatusIcon.Pixbuf = Gui.LoadIcon(22, "process-working");
            taskStatusIcon.FrameHeight = 22;
            taskStatusIcon.FrameWidth = 22;
            taskStatusIcon.Load();

            EventBox taskStatusIconBox = new EventBox();
            taskStatusIconBox.MotionNotifyEvent += delegate {
                UpdateTaskStatusIcon();
            };
            taskStatusIconBox.ButtonReleaseEvent += delegate {
                IndexingStatusWindow.Instance.Show();
            };
            taskStatusIconBox.SizeAllocated += delegate (object o, SizeAllocatedArgs args) {
                statusAlign.LeftPadding = (uint)args.Allocation.Width;
            };
            taskStatusIconBox.SetSizeRequest(22, 22);
            taskStatusIconBox.Add(taskStatusIcon);
            taskStatusIconBox.Show();

            ToolItem taskStatusIconItem = new ToolItem();
            taskStatusIconItem.Add(taskStatusIconBox);
            statusBar.Insert(taskStatusIconItem, -1);
            taskStatusIconItem.Show();

            mainVBox.PackStart(statusBar, false, false, 0);

            UpdateTaskStatusIcon();
            UpdateStatusText();
        }
        public ModelerCanvasWidget(ModelerCanvas owner, modelController controller)
        {
            this.Build ();
            _owner = owner;
            _controller = controller;
            VBox mainVbox = new VBox (false, 6);
            mainVbox.BorderWidth = 6;
            this.Add(mainVbox);

            //Create Toolbar
            Toolbar toolbar = new Toolbar ();
            toolbar.Name = "toolbar";
            toolbar.ShowArrow = true;
            toolbar.IconSize = Gtk.IconSize.LargeToolbar;
            toolbar.ToolbarStyle = ToolbarStyle.BothHoriz;
            toolbar.Sensitive=true;
            toolbar.Activate();
            mainVbox.Add(toolbar);
            Gtk.Box.BoxChild w1 = ((Gtk.Box.BoxChild)(mainVbox[toolbar]));
            w1.Position = 0;
            w1.Expand = false;
            w1.Fill = true;

            //Create SCrollWindow
            mainScrolledWindow = new ScrolledWindow();
            mainScrolledWindow.Activate();
            mainScrolledWindow.SetPolicy( Gtk.PolicyType.Always,Gtk.PolicyType.Always);
            mainScrolledWindow.CanFocus = true;
            mainScrolledWindow.Name = "mainScrolledWindow";
            mainScrolledWindow.ShadowType = ((Gtk.ShadowType)(1));
            mainVbox.Add(mainScrolledWindow);
            Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(mainVbox[mainScrolledWindow]));
             			w2.Position = 1;
            w2.Fill=true;
            w2.Expand=true;

            //Create Toolbar Buttons

            //Add New Table
            buttonNew = new ToolButton(new Gtk.Image (Gtk.Stock.New, IconSize.Button),"Add Table");
            buttonNew.Sensitive = true;
            buttonNew.TooltipMarkup = "Add a new empty table";
            buttonNew.IsImportant = true;
            buttonNew.Clicked += new EventHandler (OnbuttonNewActionActivated);
            buttonNew.Activate();
            buttonNew.Show();
            toolbar.Add (buttonNew);
            //Create a Relationship between two tables
            buttonRelationship = new ToolButton(new Gtk.Image (Gtk.Stock.New, IconSize.Button),"Relationship");
            buttonRelationship.Sensitive = true;
            buttonRelationship.TooltipMarkup = "Add a new relationship between tables";
            buttonRelationship.IsImportant = true;
            buttonRelationship.Clicked += new EventHandler (OnbuttonRelationshipActivated);
            buttonRelationship.Activate();
            buttonRelationship.Show();
            toolbar.Add (buttonRelationship);
            //Delete Selected Figure(s)
            buttonDelete = new ToolButton(new Gtk.Image (Gtk.Stock.New, IconSize.Button),"Remove");
            buttonDelete.Sensitive = true;
                buttonDelete.TooltipMarkup = "Remove selected figure(s) from diagram (table or relationship)";
            buttonDelete.IsImportant = true;
            buttonDelete.Clicked += new EventHandler (buttonDeleteRelationshipActivated);
            buttonDelete.Activate();
            buttonDelete.Show();
            toolbar.Add (buttonDelete);
            //Select Active Database
            comboConnections = new DatabaseConnectionContextComboBox ();
            selectedConnection = comboConnections.DatabaseConnection;
            comboConnections.Changed += new EventHandler (ConnectionChanged);
            ToolItem comboItem = new ToolItem ();
            comboItem.Child = comboConnections;
            comboItem.Show();
            toolbar.Add (new SeparatorToolItem ());
            toolbar.Add (comboItem);
            //Show all items
            mainVbox.ShowAll ();
        }
        private void SwapSeekSlider()
        {
            // ripped off of Moblin extension

            // First grab the type and instance of the primary window
            // and make sure we're only hacking the Nereid UI
            var pwin = elements_service.PrimaryWindow;
            var pwin_type = pwin.GetType ();
            if (pwin_type.FullName != "Nereid.PlayerInterface") {
                return;
            }

            // Find ConnectedSeekSlider
            pwin_toolbar = (Toolbar)pwin_type.GetProperty ("HeaderToolbar").GetValue (pwin, null);
            foreach (var child in pwin_toolbar.Children) {
                if (child.GetType ().FullName.StartsWith ("Banshee.Widgets.GenericToolItem")) {
                    var c = child as Container;
                    if (c != null && c.Children[0] is ConnectedSeekSlider) {
                        connected_toolitem = child as ToolItem;
                        break;
                    }
                }
            }

            // swap original ConnectedSeekSlider with new ConnectedMoodSeekSlider
            var pos = pwin_toolbar.GetItemIndex (connected_toolitem as ToolItem);
            pwin_toolbar.Remove (connected_toolitem as Gtk.ToolItem);

            ConnectedMoodbarSeekSlider connected_moodbar_seek_slider;
            connected_moodbar_seek_slider = new ConnectedMoodbarSeekSlider ();
            connected_moodbar_seek_slider.Show ();

            moodbar_toolitem = new GenericToolItem<ConnectedMoodbarSeekSlider> (connected_moodbar_seek_slider);
            moodbar_toolitem.Show ();
            pwin_toolbar.Insert (moodbar_toolitem, pos);
        }