Ejemplo n.º 1
0
        public ITdiTab CreateReadOnlyOrderDlg(int orderId)
        {
            var dlg = new OrderDlg(orderId);

            dlg.HasChanges = false;
            dlg.SetDlgToReadOnly();

            return(dlg);
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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();
            }
        }