public ITdiTab CreateReadOnlyOrderDlg(int orderId) { var dlg = new OrderDlg(orderId); dlg.HasChanges = false; dlg.SetDlgToReadOnly(); return(dlg); }
void YtreeviewAddresses_RowActivated(object o, RowActivatedArgs args) { selectedItem = ytreeviewAddresses.GetSelectedObjects <RouteListKeepingItemNode>().FirstOrDefault(); if (selectedItem != null) { var dlg = new OrderDlg(selectedItem.RouteListItem.Order); dlg.UoWGeneric.CanCheckIfDirty = false; dlg.HasChanges = false; dlg.SetDlgToReadOnly(); OpenSlaveTab(dlg); } }
void GmapWidget_ButtonPressEvent(object o, ButtonPressEventArgs args) { if (args.Event.Button == 1) { bool markerIsSelect = false; if (args.Event.State.HasFlag(ModifierType.LockMask)) { foreach (var marker in addressesOverlay.Markers) { if (marker.IsMouseOver) { var markerUnderMouse = selectedMarkers .Where(m => m.Tag is Order) .FirstOrDefault(x => (x.Tag as Order).Id == (marker.Tag as Order)?.Id); if (markerUnderMouse == null) { selectedMarkers.Add(marker); logger.Debug("Маркер с заказом №{0} добавлен в список выделенных", (marker.Tag as Order)?.Id); } else { selectedMarkers.Remove(markerUnderMouse); logger.Debug("Маркер с заказом №{0} исключен из списка выделенных", (marker.Tag as Order)?.Id); } markerIsSelect = true; } } UpdateSelectedInfo(selectedMarkers); UpdateAddressesOnMap(); return; } if (!markerIsSelect) { selectedMarkers.Clear(); logger.Debug("Список выделенных маркеров очищен"); } UpdateAddressesOnMap(); if (poligonSelection) { GRect rect = new GRect((long)args.Event.X - 5, (long)args.Event.Y - 5, 10, 10); rect.OffsetNegative(gmapWidget.RenderOffset); dragSelectionPointId = brokenSelection.LocalPoints.FindIndex(rect.Contains); if (dragSelectionPointId != -1) { gmapWidget.DisableAltForSelection = false; return; } } if (args.Event.State.HasFlag(ModifierType.ControlMask)) { if (!poligonSelection) { poligonSelection = true; logger.Debug("Старт выделения через полигон."); var startPoint = gmapWidget.FromLocalToLatLng((int)args.Event.X, (int)args.Event.Y); brokenSelection = new GMapPolygon(new List <PointLatLng> { startPoint }, "Выделение"); gmapWidget.UpdatePolygonLocalPosition(brokenSelection); selectionOverlay.Polygons.Add(brokenSelection); } else { logger.Debug("Продолжили."); var newPoint = gmapWidget.FromLocalToLatLng((int)args.Event.X, (int)args.Event.Y); brokenSelection.Points.Add(newPoint); gmapWidget.UpdatePolygonLocalPosition(brokenSelection); } OnPoligonSelectionUpdated(); } else { logger.Debug("Закончили."); poligonSelection = false; UpdateSelectedInfo(new List <GMapMarker>()); selectionOverlay.Clear(); } } if (args.Event.Button == 3 && addressesOverlay.Markers.FirstOrDefault(m => m.IsMouseOver)?.Tag is Order order) { Menu popupMenu = new Menu(); var item = new MenuItem(string.Format("Открыть {0}", order)); item.Activated += (sender, e) => { var dlg = new OrderDlg(order) { HasChanges = false }; dlg.SetDlgToReadOnly(); Tab.TabParent.AddSlaveTab(Tab, dlg); }; popupMenu.Add(item); popupMenu.ShowAll(); popupMenu.Popup(); } }