Пример #1
0
 Pixbuf GetRowMarker(object row)
 {
     return(PointMarker.GetIconPixbuf(
                ViewModel.GetAddressMarker(
                    ViewModel.GetMarkerIndex(
                        row,
                        pixbufMarkers.Length
                        )
                    ).ToString(),
                ViewModel.GetMarkerShape(row)
                ));
 }
Пример #2
0
 void UpdateRoutesPixBuf()
 {
     if (pixbufMarkers != null && ViewModel.RoutesOnDay.Count == pixbufMarkers.Length)
     {
         return;
     }
     pixbufMarkers = new Pixbuf[ViewModel.RoutesOnDay.Count];
     for (int i = 0; i < ViewModel.RoutesOnDay.Count; i++)
     {
         PointMarkerShape shape = ViewModel.GetMarkerShapeFromBottleQuantity(ViewModel.RoutesOnDay[i].TotalFullBottlesToClient);
         pixbufMarkers[i] = PointMarker.GetIconPixbuf(ViewModel.GetAddressMarker(i).ToString(), shape);
     }
 }
Пример #3
0
        void ConfigureWnd()
        {
            var ms = new List <object[]> {
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.triangle),
                    "Адрес с количеством бутылей менее 6 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.circle),
                    "Адрес с количеством бутылей 6-10 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.square),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.square),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.square),
                    "Адрес с количеством бутылей 10-20 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.cross),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.cross),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.cross),
                    "Адрес с количеством бутылей 20-40 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.star),
                    "Адрес с количеством бутылей более 40 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.star),
                    "Адрес не в маршрутном листе"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.star),
                    "График доставки продолжительностью менее часа"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.star),
                    "Адрес с временем доставки до 12:00"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.star),
                    "Адрес с временем доставки до 15:00"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.star),
                    "Адрес с временем доставки до 18:00"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.star),
                    "Адрес с временем доставки после 18:00"
                }
            };

            lblInfo.Text = "Перетаскивание карты, правой кнопкой мыши.\n" +
                           "Обычное(прямоугольное) выделение адресов на карте осуществляется перемещением мыши с нажатой левой кнопкой.\n" +
                           "Для выделения по одному маркеру, включите CAPS LOCK и левой кнопкой мыши для выделения\\удаления, кликните по нему\n" +
                           "Для выделения полигоном(сложной формой), зажмите CTRL и левой кнопкой установите углы очерчивающие полигон. " +
                           "В процессе работы CTRL можно отпускать и зажимат заново для добавления новых углов. " +
                           "Уже зафиксированные углы полигона можно перетаскивать левой кнопкой мыши." + "\n\tОписание маркеров:";
            lblInfo.LineWrap     = true;
            lblInfo.WidthRequest = 400;
            lblInfo.LineWrapMode = Pango.WrapMode.WordChar;

            treeMarkers.HeadersVisible = false;
            treeMarkers.ColumnsConfig  = FluentColumnsConfig <object[]>
                                         .Create()
                                         .AddColumn("Маркер")
                                         .AddPixbufRenderer(x => x[0] as Pixbuf)
                                         .AddPixbufRenderer(x => x[1] as Pixbuf)
                                         .AddPixbufRenderer(x => x[2] as Pixbuf)
                                         .AddTextRenderer(x => "...")
                                         .AddColumn("Описание")
                                         .AddTextRenderer(x => " - " + (string)x[3])
                                         .Finish();

            treeMarkers.SetItemsSource(ms);
        }
Пример #4
0
        void ConfigureWnd()
        {
            var ms = new List <object[]> {
                new object[] {
                    PointMarker.GetIconPixbuf("vodonos", PointMarkerShape.custom),
                    PointMarker.GetIconPixbuf("vodonos", PointMarkerShape.custom),
                    PointMarker.GetIconPixbuf("vodonos", PointMarkerShape.custom),
                    PointMarker.GetIconPixbuf("vodonos", PointMarkerShape.custom),
                    "База\\Склад погрузки-разгрузки"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.overduetriangle),
                    "Адрес с количеством бутылей не более 5 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.overduecircle),
                    "Адрес с количеством бутылей 6-9 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.square),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.square),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.square),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.overduesquare),
                    "Адрес с количеством бутылей 10-19 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.cross),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.cross),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.cross),
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.overduecross),
                    "Адрес с количеством бутылей 20-39 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("green", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("orange", PointMarkerShape.overduestar),
                    "Адрес с количеством бутылей не менее 40 шт."
                },
                new object[] {
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("black", PointMarkerShape.overduecircle),
                    "Адрес не в маршрутном листе"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("black_and_red", PointMarkerShape.overduecircle),
                    "График доставки продолжительностью менее часа"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("red_stripes", PointMarkerShape.overduecircle),
                    "Адрес с временем доставки до 12:00"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("yellow_stripes", PointMarkerShape.overduecircle),
                    "Адрес с временем доставки до 15:00"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("green_stripes", PointMarkerShape.overduecircle),
                    "Адрес с временем доставки до 18:00"
                },
                new object[] {
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.circle),
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.triangle),
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.star),
                    PointMarker.GetIconPixbuf("grey_stripes", PointMarkerShape.overduecircle),
                    "Адрес с временем доставки после 18:00"
                }
            };

            lblInfo.Text = "Перетаскивание карты, правой кнопкой мыши.\n" +
                           "Обычное(прямоугольное) выделение адресов на карте осуществляется перемещением мыши с нажатой левой кнопкой.\n" +
                           "Для выделения по одному маркеру, включите CAPS LOCK и левой кнопкой мыши для выделения\\удаления, кликните по нему\n" +
                           "Для выделения полигоном(сложной формой), зажмите CTRL и левой кнопкой установите углы очерчивающие полигон. " +
                           "В процессе работы CTRL можно отпускать и зажимат заново для добавления новых углов. " +
                           "Уже зафиксированные углы полигона можно перетаскивать левой кнопкой мыши." + "\n\tОписание маркеров:";
            labelOrdersInfo.Text = "Маркеры в виде звезды - переносы из недовозов, возникших по вине водителей или отделов  ВВ" +
                                   "\n -Оперативная сводка не включает в себя:" +
                                   "\n- Самовывозы" +
                                   "\n- Закрывающие документы" +
                                   "\n- Выезды мастера" +
                                   "\n- Заказы, закрытые без доставки" +
                                   "\n- Статусы Новый, Отменен, Ожидание оплаты";
            lblInfo.LineWrap     = true;
            lblInfo.WidthRequest = 400;
            lblInfo.LineWrapMode = Pango.WrapMode.WordChar;

            treeMarkers.HeadersVisible = false;
            treeMarkers.ColumnsConfig  = FluentColumnsConfig <object[]>
                                         .Create()
                                         .AddColumn("Маркер")
                                         .AddPixbufRenderer(x => x[0] as Pixbuf)
                                         .AddPixbufRenderer(x => x[1] as Pixbuf)
                                         .AddPixbufRenderer(x => x[2] as Pixbuf)
                                         .AddPixbufRenderer(x => x[3] as Pixbuf)
                                         .AddTextRenderer(x => "...")
                                         .AddColumn("Описание")
                                         .AddTextRenderer(x => " - " + (string)x[4])
                                         .Finish();

            treeMarkers.SetItemsSource(ms);
        }