示例#1
0
        private void item_click(ButtonPressEventArgs args, UserLabel label, RightClickLabelButton b)
        {
            if (args.Event.Button == 1) {

                category.update_restriction_and_update_screen(label.metalabel);
                b.Active = !b.Active;

            } else if (args.Event.Button == 3) {
             	Menu popupMenu = new Menu();

                MenuItem rename_item = new MenuItem(Mono.Unix.Catalog.GetString("Rename label"));
                rename_item.Activated += delegate { rename_label(label); };
                popupMenu.Add(rename_item);

                MenuItem delete_item = new MenuItem(Mono.Unix.Catalog.GetString("Delete label"));
                delete_item.Activated += delegate { remove_label(label.metalabel); };
                popupMenu.Add(delete_item);

                popupMenu.Add(new Gtk.SeparatorMenuItem());

                MenuItem create_label = new MenuItem(Mono.Unix.Catalog.GetString("Create a new label"));
                create_label.Activated += delegate { add_new_label(); };
                popupMenu.Add(create_label);

                popupMenu.ShowAll();
              			popupMenu.Popup(null, null, null, args.Event.Button, args.Event.Time);
            }
        }
示例#2
0
        private RightClickLabelButton create_button(UserLabel label)
        {
            RightClickLabelButton b = new RightClickLabelButton();
            b.Name = label.metalabel.label;

            Gtk.Alignment box_alignment = new Gtk.Alignment(0, 0, 0, 0);
            Gtk.HBox box = new Gtk.HBox();

            Gtk.Label l = new Gtk.Label(" " + label.metalabel.label);

            Gtk.Image img = label.dot();

            box.Add(img);

            GtkCommon.set_foreground_color(l, new Gdk.Color(label.metalabel.color.r, label.metalabel.color.g, label.metalabel.color.b));

            box.Add(l);

            box_alignment.LeftPadding = 3;
            box_alignment.Add(box);

            b.Add(box_alignment);

            b.BorderWidth = 0;
            b.Relief = Gtk.ReliefStyle.None;

            b.ButtonPressEvent += delegate (object sender, ButtonPressEventArgs args) {
                item_click(args, label, b);
            };

            return b;
        }