public GameObject InstantiateMenuItemGO(Transform parent, MenuItemId menuItem, int index) { string menuName = string.Format(@"Menu/Menu_{0}_{1}", menuItem.GetHashCode(), index); GameObject prefab = LoadPrefabResource(menuName); if (prefab == null) { return(null); } GameObject obj = GameObject.Instantiate(prefab); obj.transform.parent = parent; obj.transform.localPosition = new Vector3(-1.2f, 0, -0.8f); obj.transform.localRotation = Quaternion.Euler(270, 90, 90); obj.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); var renderer = obj.GetComponentInChildren <MeshRenderer>(); renderer.sharedMaterial = MaterialDefault; var clr = renderer.sharedMaterial.color; renderer.sharedMaterial.color = new Color(clr.r, clr.g, clr.b, 1.0f); return(obj); }
void UpdateRoutesButton() { var menu = new Menu(); foreach (var route in ViewModel.RoutesOnDay) { var carrierInfo = string.Format("№{0} - {1}", route.Id, route.Driver.ShortName); if (route.GeographicGroups.Any()) { carrierInfo = string.Concat(carrierInfo, " (", route.GeographicGroups.FirstOrDefault().Name, ')'); } carrierInfo = string.Concat( carrierInfo, string.Format("; {0} кг; {1} куб.м.", route.Car?.MaxWeight, route.Car?.MaxVolume) ); var item = new MenuItemId <RouteList>(carrierInfo) { ID = route }; item.Activated += AddToRLItem_Activated; menu.Append(item); } menu.ShowAll(); menuAddToRL.Menu = menu; }
protected void SetMenu(int index, MenuItemId menuItemId, bool enabled, Func <StateOperationResult> action) { if (index < 0 || index >= 4) { return; } this.MenuItemIds[index] = menuItemId; this.MenuActions[index] = action; this.MenuItemEnabled[index] = enabled; }
protected override bool OnButtonReleaseEvent(Gdk.EventButton evnt) { if (QSMain.User.Permissions["worker"]) { return(false); } if (evnt.Button == 3) { Gtk.Menu jBox = new Gtk.Menu(); MenuItem MenuItem1; MenuItemId <OrderTypeClass> MenuItem2; if (ParentCalendar == null) { return(false); } if (ParentCalendar.OrdersTypes == null || ParentCalendar.OrdersTypes.Count == 0) { throw new InvalidOperationException("Типы заказов для календаря не установлены."); } else if (ParentCalendar.OrdersTypes.Count == 1 && TypeItemButton == TypeItemOrButton.Order) { MenuItem2 = new MenuItemId <OrderTypeClass>("Новый заказ"); MenuItem2.ID = ParentCalendar.OrdersTypes.First(); MenuItem2.ButtonPressEvent += OnButtonPopupAddWithType; jBox.Add(MenuItem2); } else if (TypeItemButton == TypeItemOrButton.Order) { MenuItem1 = new MenuItem("Новый заказ"); MenuItem1.Submenu = GetNewOrderTypesMenu(); jBox.Add(MenuItem1); } if (TypeItemButton == TypeItemOrButton.Order) { MenuItem1 = new MenuItem("Перенести"); MenuItem1.Sensitive = calendarItem != null; MenuItem1.Submenu = GetOrderWeekMoveMenu(); jBox.Add(MenuItem1); } MenuItem1 = new MenuItem("Удалить"); MenuItem1.Sensitive = calendarItem != null; MenuItem1.Activated += OnButtonPopupDelete; jBox.Add(MenuItem1); jBox.ShowAll(); jBox.Popup(); } return(base.OnButtonReleaseEvent(evnt)); }
public UIMenuItem PlaceMenuItem(MenuItemId menuItemId, FDPosition position, FDPosition showUpPosition, bool enabled, bool selected) { GameObject obj = new GameObject(); obj.transform.parent = fieldObjectsRoot; var menuItem = obj.AddComponent <UIMenuItem>(); menuItem.Initialize(this, menuItemId, position, showUpPosition, enabled, selected); cancellableObjects.Add(obj); return(menuItem); }
private Gtk.Menu GetNewOrderTypesMenu() { Gtk.Menu jBox2 = new Gtk.Menu(); MenuItemId <OrderTypeClass> MenuItem2; foreach (var type in ParentCalendar.OrdersTypes) { MenuItem2 = new MenuItemId <OrderTypeClass>(type.Name); MenuItem2.ID = type; MenuItem2.ButtonPressEvent += OnButtonPopupAddWithType; jBox2.Add(MenuItem2); } return(jBox2); }
void TreeviewRows_ButtonReleaseEvent(object o, ButtonReleaseEventArgs args) { if (args.Event.Button != 3 || ViewModel.CurrentStep != 2) { return; } var menu = new Menu(); var selected = treeviewRows.GetSelectedObject <ISheetRow>(); var item = new MenuItemId <ISheetRow>(selected.UserSkipped ? "Загружать" : "Не загружать"); item.ID = selected; item.Activated += Item_Activated; menu.Add(item); menu.ShowAll(); menu.Popup(); }
public static Gtk.Menu GetPopupMenu(Order[] selected) { Menu popupMenu = new Gtk.Menu(); MenuItemId<Order[]> menuItemYandex = new MenuItemId<Order[]>("Открыть на Yandex картах(координаты)"); menuItemYandex.Activated += MenuItemYandex_Activated; menuItemYandex.ID = selected; popupMenu.Add(menuItemYandex); MenuItemId<Order[]> menuItemYandexAddress = new MenuItemId<Order[]>("Открыть на Yandex картах(адрес)"); menuItemYandexAddress.Activated += MenuItemYandexAddress_Activated; menuItemYandexAddress.ID = selected; popupMenu.Add(menuItemYandexAddress); MenuItemId<Order[]> menuItemOSM = new MenuItemId<Order[]>("Открыть на карте OSM"); menuItemOSM.Activated += MenuItemOSM_Activated; menuItemOSM.ID = selected; popupMenu.Add(menuItemOSM); return popupMenu; }
void YtreeItems_ButtonReleaseEvent(object o, ButtonReleaseEventArgs args) { if (args.Event.Button == 3) { var selected = table.GetSelectedObjects <TransferItem>().FirstOrDefault(); if (selected == null) { return; } var menu = new Menu(); var item = new MenuItemId <TransferItem>("Открыть номенклатуру"); item.ID = selected; item.Sensitive = selected.Nomenclature != null; item.Activated += Item_Activated; menu.Add(item); menu.ShowAll(); menu.Popup(); } }
public static Gtk.Menu GetPopupMenu(Order[] selected) { Menu popupMenu = new Gtk.Menu(); MenuItemId <Order[]> menuItemYandex = new MenuItemId <Order[]>("Открыть на Yandex картах(координаты)"); menuItemYandex.Activated += MenuItemYandex_Activated; menuItemYandex.ID = selected; popupMenu.Add(menuItemYandex); MenuItemId <Order[]> menuItemYandexAddress = new MenuItemId <Order[]>("Открыть на Yandex картах(адрес)"); menuItemYandexAddress.Activated += MenuItemYandexAddress_Activated; menuItemYandexAddress.ID = selected; popupMenu.Add(menuItemYandexAddress); MenuItemId <Order[]> menuItemOSM = new MenuItemId <Order[]>("Открыть на карте OSM"); menuItemOSM.Activated += MenuItemOSM_Activated; menuItemOSM.ID = selected; popupMenu.Add(menuItemOSM); return(popupMenu); }
void IViewModel.OnMenuItemClicked(ViewItem viewItem, MenuItemId menuItemId) { switch (menuItemId) { case MenuItemId.Visible: ToggleVisibleProperty(viewItem); break; case MenuItemId.Pinned: TogglePinnedProperty(viewItem); break; case MenuItemId.VisibleOnTimeline: ToggleVisibleOnTimelineProperty(viewItem); break; case MenuItemId.Delete: Delete(viewItem); break; } }
public override void Start(IGameInterface gameInterface) { if (pack == null) { return; } menuItems = new UIMenuItem[4]; FDPosition pos = pack.Position; FDPosition[] positions = new FDPosition[4] { FDPosition.At(pos.X - 1, pos.Y), FDPosition.At(pos.X, pos.Y - 1), FDPosition.At(pos.X + 1, pos.Y), FDPosition.At(pos.X, pos.Y + 1) }; bool hasSelected = false; for (int i = 0; i < 4; i++) { MenuItemId itemId = pack.MenuItems[i]; bool enabled = pack.Enabled[i]; bool isSelected = false; if (enabled && !hasSelected) { isSelected = true; hasSelected = true; } // Place the Menu on map menuItems[i] = gameInterface.PlaceMenuItem(itemId, positions[i], pos, enabled, isSelected); } for (int i = 0; i < 4; i++) { menuItems[i].RelatedMenuItems = menuItems; } }
private int HookProc(int code, IntPtr wParam, ref KeyboardLLHookStruct lParam) { if (code == HC_ACTION) { if (wParam.ToInt32() == WM_KEYDOWN || wParam.ToInt32() == WM_SYSKEYDOWN) { foreach (var item in _menuItems) { var key1 = true; var key2 = true; if (item.Key1 != VirtualKeyModifier.None) { var key1State = GetAsyncKeyState((int)item.Key1) & 0x8000; key1 = Convert.ToBoolean(key1State); } if (item.Key2 != VirtualKeyModifier.None) { var key2State = GetAsyncKeyState((int)item.Key2) & 0x8000; key2 = Convert.ToBoolean(key2State); } if (key1 && key2 && lParam.vkCode == (int)item.Key3) { var handler = Hooked; if (handler != null) { var menuItemId = MenuItemId.GetId(item.Name); var eventArgs = new HotKeyEventArgs(menuItemId); handler.BeginInvoke(this, eventArgs, null, null); break; } } } } } return(CallNextHookEx(_hookHandle, code, wParam, ref lParam)); }
public void UpdateMenu() { logger.Info("Создаем меню новостей.."); var newsMenu = new Menu(); MenuItemId <SyndicationItem> newsItem; foreach (var news in viewModel.News) { Label itemLabel = new Label(); itemLabel.Markup = ItemFormat(news.Item.Title.Text, news.Read); newsItem = new MenuItemId <SyndicationItem>(); newsItem.Add(itemLabel); newsItem.ID = news.Item; newsItem.TooltipMarkup = String.Format("<b>{0:D}</b> {1}", news.Item.PublishDate, news.Item.Summary.Text); newsItem.Activated += OnNewsActivated; newsMenu.Append(newsItem); } this.Submenu = newsMenu; UpdateIcon(); newsMenu.ShowAll(); logger.Info("Ок"); }
void YtreeItems_ButtonReleaseEvent(object o, ButtonReleaseEventArgs args) { if (args.Event.Button != 3) { return; } var menu = new Menu(); var selected = ytreeviewItems.GetSelectedObjects <IssuanceSheetItem>(); var item = new MenuItemId <IssuanceSheetItem[]>("Открыть номенклатуру"); item.ID = selected; if (selected == null) { item.Sensitive = false; } else { item.Activated += Item_Activated; } menu.Add(item); menu.ShowAll(); menu.Popup(); }
private Gtk.Menu GetOrderWeekMoveMenu() { Gtk.Menu jBox2 = new Gtk.Menu(); MenuItemId <int> MenuItem2; for (int weeks = 5; weeks >= -5; weeks--) { if (weeks == 0) { jBox2.Add(new SeparatorMenuItem()); } else { string text = RusNumber.FormatCase(Math.Abs(weeks), "на {0} неделю", "на {0} недели", "на {0} недель") + (weeks > 0 ? " вперед" : " назад"); MenuItem2 = new MenuItemId <int>(text); MenuItem2.ID = weeks; MenuItem2.ButtonPressEvent += OnButtonPopupMoveWeeks; jBox2.Add(MenuItem2); } } return(jBox2); }
public void Initialize(IGameInterface gameInterface, MenuItemId menuItemId, FDPosition position, FDPosition showUpPosition, bool enabled, bool selected) { this.gameInterface = gameInterface; this.gameObject.name = string.Format(@"menuitem_{0}", menuItemId.GetHashCode()); this.gameObject.transform.localPosition = FieldTransform.GetGroundPixelPosition(showUpPosition); Vector3 menuLocalPosition = FieldTransform.GetGroundPixelPosition(position); MenuSliding sliding = this.gameObject.AddComponent <MenuSliding>(); sliding.Initialize(menuLocalPosition); this.isEnabled = enabled; this.isSelected = selected; this.position = position; this.menuItemId = menuItemId; var box = this.gameObject.AddComponent <BoxCollider>(); box.size = new Vector3(2.4f, 0.2f, 2.4f); box.center = new Vector3(0f, 0.2f, 0f); }
public static Menu GenerateMenuFromEnum <TEnum>(EventHandler activateHandler) { var enumType = typeof(TEnum); if (enumType == null) { return(null); } if (enumType.IsEnum == false) { throw new NotSupportedException(string.Format("enumType only supports enum types, specified was {0}", enumType)); } var menu = new Menu(); foreach (FieldInfo info in enumType.GetFields()) { if (info.Name.Equals("value__")) { continue; } var item = new MenuItemId <TEnum>(info.GetEnumTitle()); var hint = info.GetFieldDescription(); if (!String.IsNullOrWhiteSpace(hint)) { item.TooltipText = hint; } item.Activated += activateHandler; item.ID = (TEnum)info.GetValue(null); menu.Add(item); } menu.ShowAll(); return(menu); }
private void ThreadWorks() { logger.Info("Поток: Получаем ленты новостей."); SyndicationFeed mainFeed = new SyndicationFeed(); foreach (var feed in MainNewsFeed.NewsFeeds) { if (!feed.Active) { continue; } SyndicationFeed syndicationFeed; try { using (XmlReader reader = XmlReader.Create(feed.FeedUri.AbsoluteUri)) { syndicationFeed = SyndicationFeed.Load(reader); } syndicationFeed.Id = feed.Id; syndicationFeed.Items.ToList().ForEach(i => i.SourceFeed = syndicationFeed); } catch (Exception ex) { logger.Warn(ex, "Не удалось прочитать feed"); continue; } SyndicationFeed tempFeed = new SyndicationFeed( mainFeed.Items.Union(syndicationFeed.Items).OrderByDescending(u => u.PublishDate)); mainFeed = tempFeed; } logger.Info("Создаем меню новостей.."); Application.Invoke(delegate { logger.Info("Запуск операций в основном потоке.."); UnreadNewsCount = 0; var newsMenu = new Menu(); MenuItemId <SyndicationItem> newsItem; foreach (var news in mainFeed.Items) { Label itemLabel = new Label(); if (MainNewsFeed.ItemIsRead(news)) { itemLabel.Text = news.Title.Text; } else { itemLabel.Markup = String.Format("<b>{0}</b>", news.Title.Text); UnreadNewsCount++; } newsItem = new MenuItemId <SyndicationItem> (); newsItem.Add(itemLabel); newsItem.ID = news; newsItem.TooltipMarkup = String.Format("<b>{0:D}</b> {1}", news.PublishDate, news.Summary.Text); newsItem.Activated += OnNewsActivated; newsMenu.Append(newsItem); } this.Submenu = newsMenu; UpdateIcon(); newsMenu.ShowAll(); MainNewsFeed.SaveFirstRead(); logger.Info("Ок"); }); }
private void FillGridViewHotKeys(DataGridView gridView, IList <Settings.MenuItem> items, LanguageSettings languageSettings) { gridView.Tag = items; foreach (var item in items) { if (item.Type == MenuItemType.Item) { var index = gridView.Rows.Add(); var row = gridView.Rows[index]; var id = MenuItemId.GetId(item.Name); var title = GetTransparencyTitle(id, languageSettings); title = title != null ? title : languageSettings.GetValue(item.Name); row.Tag = item; row.Cells[0].Value = title; row.Cells[1].Value = item == null ? "" : item.ToString(); ((DataGridViewCheckBoxCell)row.Cells[2]).Value = item.Show; ((DataGridViewCheckBoxCell)row.Cells[2]).ToolTipText = languageSettings.GetValue("clm_hotkeys_show_tooltip"); } if (item.Type == MenuItemType.Separator) { var index = gridView.Rows.Add(); var row = gridView.Rows[index]; var title = languageSettings.GetValue("separator"); row.Tag = item; row.Cells[0].Value = title; row.Cells[1].Value = item == null ? "" : item.ToString(); ((DataGridViewCheckBoxCell)row.Cells[2]).Value = item.Show; ((DataGridViewCheckBoxCell)row.Cells[2]).ToolTipText = languageSettings.GetValue("clm_hotkeys_show_tooltip"); } if (item.Type == MenuItemType.Group) { var index = gridView.Rows.Add(); var row = gridView.Rows[index]; row.Tag = item; row.Cells[0].Value = languageSettings.GetValue(item.Name); row.ReadOnly = true; ((DataGridViewCheckBoxCell)row.Cells[2]).Value = item.Show; ((DataGridViewCheckBoxCell)row.Cells[2]).ToolTipText = languageSettings.GetValue("clm_hotkeys_show_tooltip"); ((DataGridViewDisableButtonCell)row.Cells[3]).Enabled = false; foreach (var subItem in item.Items) { if (subItem.Type == MenuItemType.Item) { var subItemIndex = gridView.Rows.Add(); var subItemRow = gridView.Rows[subItemIndex]; var id = MenuItemId.GetId(subItem.Name); var title = GetTransparencyTitle(id, languageSettings); title = title != null ? title : languageSettings.GetValue(subItem.Name); subItemRow.Tag = subItem; subItemRow.Cells[0].Value = title; subItemRow.Cells[1].Value = subItem == null ? "" : subItem.ToString(); ((DataGridViewCheckBoxCell)subItemRow.Cells[2]).Value = subItem.Show; ((DataGridViewCheckBoxCell)subItemRow.Cells[2]).ToolTipText = languageSettings.GetValue("clm_hotkeys_show_tooltip"); var padding = subItemRow.Cells[0].Style.Padding; subItemRow.Cells[0].Style.Padding = new Padding(20, padding.Top, padding.Right, padding.Bottom); } if (subItem.Type == MenuItemType.Separator) { var subItemIndex = gridView.Rows.Add(); var subItemRow = gridView.Rows[subItemIndex]; var title = languageSettings.GetValue("separator"); subItemRow.Tag = subItem; subItemRow.Cells[0].Value = title; subItemRow.Cells[1].Value = subItem == null ? "" : subItem.ToString(); ((DataGridViewCheckBoxCell)subItemRow.Cells[2]).Value = subItem.Show; ((DataGridViewCheckBoxCell)subItemRow.Cells[2]).ToolTipText = languageSettings.GetValue("clm_hotkeys_show_tooltip"); var padding = subItemRow.Cells[0].Style.Padding; subItemRow.Cells[0].Style.Padding = new Padding(20, padding.Top, padding.Right, padding.Bottom); } } } } }
protected void OnButtonPopupAddWithType(object sender, ButtonPressEventArgs Arg) { MenuItemId <OrderTypeClass> item = (MenuItemId <OrderTypeClass>)sender; OnNewOrderClicked(item.ID); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); #if WIN32 if (Environment.Is64BitOperatingSystem) { var resourceName = "SmartSystemMenu.SmartSystemMenu64.exe"; var fileName = "SmartSystemMenu64.exe"; var directoryName = Path.GetDirectoryName(AssemblyUtils.AssemblyLocation); var filePath = Path.Combine(directoryName, fileName); try { if (!File.Exists(filePath)) { AssemblyUtils.ExtractFileFromAssembly(resourceName, filePath); } _64BitProcess = Process.Start(filePath); } catch { string message = string.Format("Failed to load {0} process!", fileName); MessageBox.Show(message, AssemblyUtils.AssemblyTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); return; } } if (_settings.ShowSystemTrayIcon) { _systemTrayMenu = new SystemTrayMenu(_settings.Language); _systemTrayMenu.MenuItemAutoStartClick += MenuItemAutoStartClick; _systemTrayMenu.MenuItemSettingsClick += MenuItemSettingsClick; _systemTrayMenu.MenuItemAboutClick += MenuItemAboutClick; _systemTrayMenu.MenuItemExitClick += MenuItemExitClick; _systemTrayMenu.Create(); _systemTrayMenu.CheckMenuItemAutoStart(AutoStarter.IsAutoStartByRegisterEnabled(AssemblyUtils.AssemblyProductName, AssemblyUtils.AssemblyLocation)); } var moduleName = Process.GetCurrentProcess().MainModule.ModuleName; _hotKeyHook = new HotKeyHook(); _hotKeyHook.Hooked += HotKeyHooked; if (_settings.MenuItems.Items.Flatten(x => x.Items).Any(x => x.Type == MenuItemType.Item && x.Key3 != VirtualKey.None && x.Show) || _settings.MenuItems.WindowSizeItems.Any(x => x.Key3 != VirtualKey.None)) { _hotKeyHook.Start(moduleName, _settings.MenuItems); } _hotKeyMouseHook = new HotKeys.MouseHook(); _hotKeyMouseHook.Hooked += HotKeyMouseHooked; if (_settings.Closer.MouseButton != MouseButton.None) { _hotKeyMouseHook.Start(moduleName, _settings.Closer.Key1, _settings.Closer.Key2, _settings.Closer.MouseButton); } #endif _windows = EnumWindows.EnumAllWindows(_settings, _windowSettings, new string[] { SHELL_WINDOW_NAME }).ToList(); foreach (var window in _windows) { var processPath = window.Process?.GetMainModuleFileName() ?? string.Empty; var fileName = Path.GetFileName(processPath); if (!string.IsNullOrEmpty(fileName) && _settings.ProcessExclusions.Contains(fileName.ToLower())) { continue; } var isAdded = window.Menu.Create(); if (isAdded) { window.Menu.CheckMenuItem(window.ProcessPriority.GetMenuItemId(), true); if (window.AlwaysOnTop) { window.Menu.CheckMenuItem(MenuItemId.SC_TOPMOST, true); } if (window.IsExToolWindow) { window.Menu.CheckMenuItem(MenuItemId.SC_HIDE_FOR_ALT_TAB, true); } var windowClassName = window.GetClassName(); var states = _windowSettings.Find(windowClassName, processPath); if (states.Any()) { window.ApplyState(states[0], _settings.SaveSelectedItems, _settings.MenuItems.WindowSizeItems); window.Menu.CheckMenuItem(MenuItemId.SC_SAVE_SELECTED_ITEMS, true); } } } _callWndProcHook = new CallWndProcHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); _callWndProcHook.CallWndProc += WindowProc; _callWndProcHook.Start(); _getMsgHook = new GetMsgHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); _getMsgHook.GetMsg += WindowGetMsg; _getMsgHook.Start(); _shellHook = new ShellHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); _shellHook.WindowCreated += WindowCreated; _shellHook.WindowDestroyed += WindowDestroyed; _shellHook.Start(); _cbtHook = new CBTHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); _cbtHook.WindowCreated += WindowCreated; _cbtHook.WindowDestroyed += WindowDestroyed; _cbtHook.MoveSize += WindowMoveSize; _cbtHook.MinMax += WindowMinMax; _cbtHook.Start(); _mouseHook = new Hooks.MouseHook(Handle, MenuItemId.SC_DRAG_BY_MOUSE); var dragByMouseItemName = MenuItemId.GetName(MenuItemId.SC_DRAG_BY_MOUSE); if (_settings.MenuItems.Items.Flatten(x => x.Items).Any(x => x.Type == MenuItemType.Item && x.Name == dragByMouseItemName && x.Show)) { _mouseHook.Start(); } Hide(); }
protected override bool OnButtonReleaseEvent(Gdk.EventButton evnt) { if(evnt.Button == 3) { Gtk.Menu jBox = new Gtk.Menu(); MenuItem MenuItem1; MenuItemId<int> MenuItem2; if(ParentCalendar.OrdersTypes == null || ParentCalendar.OrdersTypes.Count == 0) { MenuItem1 = new MenuItem("Новый заказ"); MenuItem1.Activated += OnButtonPopupAdd; jBox.Add(MenuItem1); } else if(ParentCalendar.OrdersTypes.Count == 1) { MenuItem2 = new MenuItemId<int>("Новый заказ"); MenuItem2.ID = ParentCalendar.OrdersTypes.GetEnumerator().Current.Key; MenuItem2.ButtonPressEvent += OnButtonPopupAddWithType; jBox.Add(MenuItem2); } else { MenuItem1 = new MenuItem("Новый заказ"); MenuItem1.Submenu = GetNewOrderTypesMenu(); jBox.Add(MenuItem1); } MenuItem1 = new MenuItem("Удалить"); MenuItem1.Sensitive = item != null; MenuItem1.Activated += OnButtonPopupDelete; jBox.Add(MenuItem1); jBox.ShowAll(); jBox.Popup(); } return base.OnButtonReleaseEvent(evnt); }
private Gtk.Menu GetNewOrderTypesMenu() { Gtk.Menu jBox2 = new Gtk.Menu(); MenuItemId<int> MenuItem2; foreach(KeyValuePair<int, string> pair in ParentCalendar.OrdersTypes) { MenuItem2 = new MenuItemId<int>(pair.Value); MenuItem2.ID = pair.Key; MenuItem2.ButtonPressEvent += OnButtonPopupAddWithType; jBox2.Add(MenuItem2); } return jBox2; }
void UpdateRoutesButton() { var menu = new Gtk.Menu(); foreach(var route in routesAtDay) { var name = String.Format("МЛ №{0} - {1}", route.Id, route.Driver.ShortName); var item = new MenuItemId<RouteList>(name); item.ID = route; item.Activated += AddToRLItem_Activated; menu.Append(item); } menu.ShowAll(); menuAddToRL.Menu = menu; }
private void ThreadWorks() { logger.Info ("Поток: Получаем ленты новостей."); SyndicationFeed mainFeed = new SyndicationFeed(); foreach (var feed in MainNewsFeed.NewsFeeds) { if (!feed.Active) continue; SyndicationFeed syndicationFeed; try { using (XmlReader reader = XmlReader.Create(feed.FeedUri.AbsoluteUri)) { syndicationFeed = SyndicationFeed.Load(reader); } syndicationFeed.Id = feed.Id; syndicationFeed.Items.ToList().ForEach(i => i.SourceFeed = syndicationFeed); } catch(Exception ex) { logger.Warn (ex, "Не удалось прочитать feed"); continue; } SyndicationFeed tempFeed = new SyndicationFeed( mainFeed.Items.Union(syndicationFeed.Items).OrderByDescending(u => u.PublishDate)); mainFeed = tempFeed; } logger.Info ("Создаем меню новостей.."); Application.Invoke (delegate { logger.Info ("Запуск операций в основном потоке.."); UnreadNewsCount = 0; var newsMenu = new Menu (); MenuItemId<SyndicationItem> newsItem; foreach (var news in mainFeed.Items) { Label itemLabel = new Label (); if (MainNewsFeed.ItemIsRead (news)) itemLabel.Text = news.Title.Text; else { itemLabel.Markup = String.Format ("<b>{0}</b>", news.Title.Text); UnreadNewsCount++; } newsItem = new MenuItemId<SyndicationItem> (); newsItem.Add (itemLabel); newsItem.ID = news; newsItem.TooltipMarkup = String.Format ("<b>{0:D}</b> {1}", news.PublishDate, news.Summary.Text); newsItem.Activated += OnNewsActivated; newsMenu.Append (newsItem); } this.Submenu = newsMenu; UpdateIcon (); newsMenu.ShowAll (); MainNewsFeed.SaveFirstRead (); logger.Info("Ок"); }); }