Beispiel #1
0
 public static Xwt.MenuItem FromCommand(Command X)
 {
     if (X != null)
     {
         Xwt.MenuItem Target = new Xwt.MenuItem()
         {
             Label = X.Title,
             Image = X.Icon,
             Sensitive = X.Enabled
         };
         Target.Clicked += (o, e) =>
         {
             if (X.Enabled)
                 X.Run(null);
         };
         X.PropertyChanged += (o, e) =>
         {
             Target.Label = X.Title;
             Target.Image = X.Icon;
             Target.Sensitive = X.Enabled;
         };
         return Target;
     }
     else throw new NullReferenceException();
 }
 void AddLanguageMenuItems(Xwt.Menu menu, SolutionTemplate template)
 {
     foreach (string language in template.AvailableLanguages.OrderBy(item => item))
     {
         var menuItem = new Xwt.MenuItem(language);
         menuItem.Accessible.Label = LanguageCellRenderer.GetAccessibleLanguageName(language);
         menuItem.Clicked         += (o, e) => {
             languageCellRenderer.SelectedLanguage = language;
             controller.SelectedLanguage           = language;
             templatesTreeView.QueueDraw();
             ShowSelectedTemplate();
         };
         menu.Items.Add(menuItem);
     }
 }
Beispiel #3
0
        //constructor
        public PlainText()
        {
            ScrollBox = new Xwt.ScrollView(RTV);
            Layout.Add(ScrollBox, 0, 1, 1, 3, true, true);

            Layout.Add(lblFileName, 0, 0);
            Layout.Add(mbMode, 1, 0);
            Layout.Add(mbCodepage, 2, 0);

            foreach (EncodingInfo cp in Encoding.GetEncodings())
            {
                Xwt.MenuItem mi = new Xwt.MenuItem();
                mi.Tag = cp.CodePage;
                mi.Label = "CP" + cp.CodePage + " - " + cp.DisplayName;
                mi.Clicked += new EventHandler(Codepage_Clicked);
                mnuFormat.Items.Add(mi);
            }
            mbCodepage.Menu = mnuFormat;
        }
Beispiel #4
0
        public PlainText()         //constructor
        {
            ScrollBox = new Xwt.ScrollView(RTV);
            Layout.Add(ScrollBox, 0, 1, 1, 3, true, true);

            Layout.Add(lblFileName, 0, 0);
            Layout.Add(mbMode, 1, 0);
            Layout.Add(mbCodepage, 2, 0);

            foreach (EncodingInfo cp in Encoding.GetEncodings())
            {
                Xwt.MenuItem mi = new Xwt.MenuItem();
                mi.Tag      = cp.CodePage;
                mi.Label    = "CP" + cp.CodePage + " - " + cp.DisplayName;
                mi.Clicked += new EventHandler(Codepage_Clicked);
                mnuFormat.Items.Add(mi);
            }
            mbCodepage.Menu = mnuFormat;
        }
Beispiel #5
0
        void OnButtonPress(object o, Xwt.ButtonEventArgs args)
        {
            if (!args.IsContextMenuTrigger)
            {
                return;
            }

            args.Handled = true;

            var row = listView.GetRowAtPosition(args.Position);

            if (row != -1)
            {
                var menu = new Xwt.Menu();
                var mi   = new Xwt.MenuItem("Remove Row");
                menu.Items.Add(mi);
                mi.Clicked += (sender, e) => RemoveSelectedRows();

                menu.Popup(listView, args.X, args.Y);
            }
        }
        public virtual Xwt.MenuItem Makeup(IXwtWrapper Parent)
        {
            Xwt.MenuItem Target = new Xwt.MenuItem() {
                Label = Text,
                Sensitive = this.Sensitive,
                Visible = this.Visible,
                UseMnemonic = this.UseMnemonic,
            };

            if (Subitems != null && Subitems.Count() > 0)
            {
                Target.SubMenu = new Xwt.Menu();
                foreach (var Subitem in Subitems)
                    Target.SubMenu.Items.Add(Subitem.Makeup(Parent));
            }

            RegisterItem(Parent, Target);

            WindowController.TryAttachEvent(Target, "Clicked", Parent, Activated);

            return Target;
        }
Beispiel #7
0
        public LogWidget(VersionControlDocumentInfo info)
        {
            this.Build();
            this.info = info;
            if (info.Document != null)
            {
                this.preselectFile = info.Item.Path;
            }

            var separator = new HeaderBox();

            separator.SetMargins(1, 0, 0, 0);
            separator.HeightRequest = 4;
            separator.ShowAll();

            hpaned1 = hpaned1.ReplaceWithWidget(new HPanedThin(), true);
            vpaned1 = vpaned1.ReplaceWithWidget(new VPanedThin()
            {
                HandleWidget = separator
            }, true);

            revertButton = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert changes from this revision"));
            revertButton.GetNativeWidget <Gtk.Widget> ().Sensitive = false;
            revertButton.Clicked += new EventHandler(RevertRevisionClicked);

            revertToButton = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert to this revision"));
            revertToButton.GetNativeWidget <Gtk.Widget> ().Sensitive = false;
            revertToButton.Clicked += new EventHandler(RevertToRevisionClicked);

            refreshButton          = new DocumentToolButton(Gtk.Stock.Refresh, GettextCatalog.GetString("Refresh"));
            refreshButton.Clicked += new EventHandler(RefreshClicked);

            searchEntry = new SearchEntry();
            searchEntry.WidthRequest             = 200;
            searchEntry.ForceFilterButtonVisible = true;
            searchEntry.EmptyMessage             = GettextCatalog.GetString("Search");
            searchEntry.Changed += HandleSearchEntryFilterChanged;
            searchEntry.Ready    = true;
            searchEntry.Show();

            messageRenderer.Ellipsize = Pango.EllipsizeMode.End;
            TreeViewColumn colRevMessage = new TreeViewColumn();

            colRevMessage.Title = GettextCatalog.GetString("Message");
            var graphRenderer = new RevisionGraphCellRenderer();

            colRevMessage.PackStart(graphRenderer, false);
            colRevMessage.SetCellDataFunc(graphRenderer, GraphFunc);

            colRevMessage.PackStart(messageRenderer, true);
            colRevMessage.SetCellDataFunc(messageRenderer, MessageFunc);
            colRevMessage.Sizing = TreeViewColumnSizing.Autosize;

            treeviewLog.AppendColumn(colRevMessage);
            colRevMessage.MinWidth  = 350;
            colRevMessage.Resizable = true;

            TreeViewColumn colRevDate = new TreeViewColumn(GettextCatalog.GetString("Date"), textRenderer);

            colRevDate.SetCellDataFunc(textRenderer, DateFunc);
            colRevDate.Resizable = true;
            treeviewLog.AppendColumn(colRevDate);

            TreeViewColumn colRevAuthor = new TreeViewColumn();

            colRevAuthor.Title = GettextCatalog.GetString("Author");
            colRevAuthor.PackStart(pixRenderer, false);
            colRevAuthor.PackStart(textRenderer, true);
            colRevAuthor.SetCellDataFunc(textRenderer, AuthorFunc);
            colRevAuthor.SetCellDataFunc(pixRenderer, AuthorIconFunc);
            colRevAuthor.Resizable = true;
            treeviewLog.AppendColumn(colRevAuthor);

            TreeViewColumn colRevNum = new TreeViewColumn(GettextCatalog.GetString("Revision"), textRenderer);

            colRevNum.SetCellDataFunc(textRenderer, RevisionFunc);
            colRevNum.Resizable = true;
            treeviewLog.AppendColumn(colRevNum);

            treeviewLog.Model              = logstore;
            treeviewLog.Selection.Changed += TreeSelectionChanged;

            treeviewFiles = new FileTreeView();
            treeviewFiles.DiffLineActivated += HandleTreeviewFilesDiffLineActivated;
            scrolledwindowFiles.Child        = treeviewFiles;
            scrolledwindowFiles.ShowAll();

            changedpathstore = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), // icon/file name
                                             typeof(Xwt.Drawing.Image), typeof(string), // icon/operation
                                             typeof(string),                            // path
                                             typeof(string),                            // revision path (invisible)
                                             typeof(string [])                          // diff
                                             );

            TreeViewColumn colChangedFile = new TreeViewColumn();
            var            crp            = new CellRendererImage();
            var            crt            = new CellRendererText();

            colChangedFile.Title = GettextCatalog.GetString("File");
            colChangedFile.PackStart(crp, false);
            colChangedFile.PackStart(crt, true);
            colChangedFile.SetCellDataFunc(crp, HandleNodeCellDataFunc);
            colChangedFile.AddAttribute(crt, "text", 3);
            treeviewFiles.AppendColumn(colChangedFile);

            TreeViewColumn colOperation = new TreeViewColumn();

            colOperation.Title = GettextCatalog.GetString("Operation");
            colOperation.PackStart(crp, false);
            colOperation.PackStart(crt, true);
            colOperation.AddAttribute(crp, "image", 0);
            colOperation.AddAttribute(crt, "text", 1);
            treeviewFiles.AppendColumn(colOperation);

            TreeViewColumn colChangedPath = new TreeViewColumn();

            colChangedPath.Title = GettextCatalog.GetString("Path");

            diffRenderer.DrawLeft = true;
            colChangedPath.PackStart(diffRenderer, true);
            colChangedPath.SetCellDataFunc(diffRenderer, SetDiffCellData);
            treeviewFiles.AppendColumn(colChangedPath);
            treeviewFiles.Model          = changedpathstore;
            treeviewFiles.TestExpandRow += HandleTreeviewFilesTestExpandRow;
            treeviewFiles.Events        |= Gdk.EventMask.PointerMotionMask;

            textviewDetails.WrapMode = Gtk.WrapMode.Word;
            textviewDetails.AddEvents((int)Gdk.EventMask.ButtonPressMask);
            textviewDetails.ButtonPressEvent += TextviewDetails_ButtonPressEvent;

            labelAuthor.Text   = "";
            labelDate.Text     = "";
            labelRevision.Text = "";

            labelDate.AddEvents((int)Gdk.EventMask.ButtonPressMask);
            labelDate.ButtonPressEvent += LabelDate_ButtonPressEvent;

            labelAuthor.AddEvents((int)Gdk.EventMask.ButtonPressMask);
            labelAuthor.ButtonPressEvent += LabelAuthor_ButtonPressEvent;

            labelRevision.AddEvents((int)Gdk.EventMask.ButtonPressMask);
            labelRevision.ButtonPressEvent += LabelRevision_ButtonPressEvent;

            vbox2.Remove(scrolledwindow1);
            HeaderBox tb = new HeaderBox();

            tb.Show();
            tb.SetMargins(1, 0, 0, 0);
            tb.ShowTopShadow = true;
            tb.ShadowSize    = 4;
            tb.SetPadding(8, 8, 8, 8);
            tb.UseChildBackgroundColor = true;
            tb.Add(scrolledwindow1);
            vbox2.PackStart(tb, true, true, 0);

            (Platform.IsMac ? Xwt.Toolkit.NativeEngine : Xwt.Toolkit.CurrentEngine).Invoke(() => {
                popupMenu    = new Xwt.Menu();
                var copyItem = new Xwt.MenuItem(GettextCatalog.GetString("Copy"));
                popupMenu.Items.Add(copyItem);
                copyItem.Clicked += (sender, e) => {
                    var selectedText = GetSelectedText();
                    if (!string.IsNullOrEmpty(selectedText))
                    {
                        LogView.CopyToClipboard(selectedText);
                    }
                };
            });

            UpdateStyle();
            Ide.Gui.Styles.Changed += HandleStylesChanged;
        }
Beispiel #8
0
 void Codepage_Clicked(object sender, EventArgs e)
 {
     Xwt.MenuItem MI = (Xwt.MenuItem)sender;
     ChangeCodepage(Convert.ToInt32(MI.Tag));
 }
Beispiel #9
0
 /// <summary>Display bookmark list to the specifed XWT Menu</summary>
 /// <param name="mnu">The XWT menu</param>
 /// <param name="OnClick">What should happen if user clicks the bookmark</param>
 public void DisplayBookmarks(Xwt.Menu mnu, Action<string> OnClick)
 {
     if(mnu == null)  mnu = new Xwt.Menu();
     mnu.Items.Clear();
     foreach (Bookmark b in bookmarks)
     {
         string url = b.url;
         Xwt.MenuItem mi = new Xwt.MenuItem();
         mi.Clicked += (o, ea) => { OnClick(url); };
         mi.Label = b.title;
         mi.Image = b.GetIcon();
         mnu.Items.Add(mi);
     }
 }