Пример #1
0
        public LogExplorer()
        {
            list = new LogList()
            {
                AllowEditColumn  = true,
                EditMode         = EditModes.ByClick,
                GenerateToString = false,
                Grouping         = false,
                Name             = "list",
                ReadOnly         = true,
                ListSource       = Helper.Logs
            };

            toolLoad = new ToolItem(OnToolLoadClick)
            {
                Name = "Load"
            };
            toolSave = new ToolItem(OnToolSaveClick)
            {
                Name = "Save"
            };
            tools = new Toolsbar(toolLoad, toolSave);
            Name  = "LogEditor";

            PackStart(tools, false, false);
            PackStart(list, true, true);

            Localize();
            //System.Drawing.SystemIcons.
        }
Пример #2
0
        public CalendarEditor()
        {
            month = new Month();

            var bar = new Toolsbar(
                lable = new ToolLabel()
            {
                Font = Font.WithScaledSize(1.5).WithWeight(Xwt.Drawing.FontWeight.Bold)
            },
                new ToolSeparator {
                FillWidth = true
            },
                new ToolItem((s, e) => Date = Date.AddMonths(-1))
            {
                Name = "Prev Month", Glyph = Common.GlyphType.ChevronUp
            },
                new ToolItem((s, e) => Date = Date.AddMonths(1))
            {
                Name = "Next Month", Glyph = Common.GlyphType.ChevronDown
            }
                );

            list = new CalendarList
            {
                ListSource = month.Days
            };
            list.SelectionChanged += ListSelectionChanged;
            PackStart(bar, false, false);
            PackStart(list, true, true);
            Date = DateTime.Today;
        }
Пример #3
0
        public Menubar() : base(PopupType.Menu)
        {
            Bar = new Toolsbar()
            {
                Indent = 0
            };
            Bar.ItemClick     += OnItemClick;
            Bar.Items.GrowMode = Orientation.Vertical;

            BackgroundColor = GuiEnvironment.Theme["Window"].BaseColor;
            Content         = Bar;
            Decorated       = false;
            Padding         = new WidgetSpacing(8, 8, 8, 8);
            Resizable       = true;
            InitialLocation = WindowLocation.Manual;
            ShowInTaskbar   = false;
            Name            = nameof(Menubar);
        }
Пример #4
0
        public ToolWindow()// : base(PopupType.Menu)
        {
            var p = 6;

            panel = new ScrollView
            {
                Name = "panel"
            };

            toolLabel = new ToolLabel
            {
                Name      = "toolLabel",
                Text      = "Label",
                FillWidth = true,
            };

            toolClose = new ToolItem(OnCloseClick)
            {
                Name         = "Close",
                Text         = "Close",
                DisplayStyle = ToolItemDisplayStyle.Text
            };

            toolAccept = new ToolItem(OnAcceptClick)
            {
                Name         = "Accept",
                Text         = "Ok",
                DisplayStyle = ToolItemDisplayStyle.Text
            };

            bar = new Toolsbar(
                toolLabel,
                toolClose,
                toolAccept)
            {
                Name = "Bar"
            };
            bar.ButtonPressed  += OnContentMouseDown;
            bar.ButtonReleased += OnContentMouseUp;
            bar.MouseEntered   += OnContentMouseEntered;
            bar.MouseExited    += OnContentMouseExited;
            bar.MouseMoved     += OnContentMouseMove;
            //hbox.Margin = new WidgetSpacing(padding, 0, padding, padding);

            vbox = new VBox
            {
                //Margin = new WidgetSpacing(padding, padding, padding, padding),
                Name = "tools"
            };
            vbox.PackStart(panel, true, true);
            vbox.PackStart(bar, false, false);
            vbox.KeyPressed += OnContentKeyPress;


            BackgroundColor = GuiEnvironment.Theme["Window"].BaseColor.WithIncreasedLight(0.1D);
            Content         = vbox;
            Decorated       = false;
            Name            = "ToolWindow";
            //Resizable = false;
            Resizable       = true;
            Size            = new Size(360, 320);
            ShowInTaskbar   = false;
            InitialLocation = WindowLocation.Manual;
            Padding         = new WidgetSpacing(p, p, p, p);

            timerHide.Interval = 8000;
            timerHide.Elapsed += TimerHideTick;

            timerStart.Interval = 500;
            timerStart.Elapsed += TimerStartTick;
        }
Пример #5
0
        public LayoutInfoEditor()
        {
            CellCopy = new ToolItem(OnMenuCellCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            };
            CellCheck = new ToolItem(OnMenuCellCheckClick)
            {
                Name = "Check All", Glyph = GlyphType.CheckSquare
            };
            ViewMode = new ToolItem(OnMenuViewModeClick)
            {
                Name = "Grid View", Glyph = GlyphType.PhotoAlias
            };
            Reset = new ToolItem(OnMenuResetColumnsClick)
            {
                Name = "Reset", Glyph = GlyphType.Refresh
            };
            Print = new ToolItem()
            {
                Glyph = GlyphType.Print
            };
            toolSort = new ToolItem(ToolSortClick)
            {
                Name = "Sort", CheckOnClick = true, Glyph = GlyphType.SortAlphaAsc
            };
            toolGroup = new ToolItem(ToolGroupClick)
            {
                Name = "Group", CheckOnClick = true, Glyph = GlyphType.PlusSquareO
            };

            bar = new Toolsbar(
                ViewMode,
                Reset,
                Print,
                toolGroup,
                toolSort,
                new ToolSeparator(),
                CellCopy,
                CellCheck)
            {
                Name = "PListContext"
            };

            options = new LayoutList()
            {
                EditMode = EditModes.ByClick
            };

            columns = new ListEditor(new LayoutList
            {
                GenerateColumns  = false,
                GenerateToString = false,
                EditMode         = EditModes.ByClick,
                ListInfo         = new LayoutListInfo(
                    new LayoutColumn {
                    Name = nameof(LayoutColumn.ToString), Editable = false, Width = 180
                },
                    new LayoutColumn {
                    Name = nameof(LayoutColumn.Text), FillWidth = true
                },
                    new LayoutColumn {
                    Name = nameof(LayoutColumn.Visible), Width = 50
                },
                    new LayoutColumn {
                    Name = nameof(LayoutColumn.Format)
                })
                {
                    HeaderVisible = false,
                    LevelIndent   = 5,
                    Tree          = true
                }
            });
            columns.List.SelectionChanged += ColumnsItemSelect;
            columns.List.ItemRemoved      += OnColumnRemoved;
            ToolInsert.ItemClick          += ToolInsertItemClick;
            fields = new ListEditor(new LayoutList
            {
                GenerateColumns  = false,
                GenerateToString = false,
                EditMode         = EditModes.ByClick,
                ListInfo         = new LayoutListInfo(
                    new LayoutColumn {
                    Name = nameof(LayoutField.ToString), Editable = false
                },
                    new LayoutColumn {
                    Name = nameof(LayoutField.Text), FillWidth = true
                },
                    new LayoutColumn {
                    Name = nameof(LayoutField.Visible), Width = 50
                },
                    new LayoutColumn {
                    Name = nameof(LayoutField.Format)
                })
            });

            sorts = new ListEditor(new LayoutList
            {
                GenerateColumns  = false,
                GenerateToString = false,
                EditMode         = EditModes.ByClick,
                ListInfo         = new LayoutListInfo(
                    new LayoutColumn {
                    Name = nameof(LayoutSort.Column), FillWidth = true
                },
                    new LayoutColumn {
                    Name = nameof(LayoutSort.Direction)
                },
                    new LayoutColumn {
                    Name = nameof(LayoutSort.IsGroup)
                })
            });

            gColumns = new GroupBoxItem()
            {
                Name       = "columns",
                Widget     = columns,
                Text       = "Columns",
                FillHeight = true,
                FillWidth  = true
            };
            gFields = new GroupBoxItem()
            {
                Name       = "fields",
                Widget     = fields,
                Text       = "Fields",
                Row        = 1,
                FillHeight = true,
                FillWidth  = true
            };
            gSorters = new GroupBoxItem()
            {
                Name       = "sorts",
                Widget     = sorts,
                Text       = "Sort",
                Row        = 2,
                FillHeight = true,
                FillWidth  = true,
                Expand     = false
            };
            var mColumns = new GroupBoxItem(gColumns, gFields, gSorters)
            {
                Column = 1
            };

            gOptions = new GroupBoxItem()
            {
                Name       = "properties",
                Widget     = options,
                Text       = "Properties",
                FillHeight = true,
                Width      = 340
            };

            map = new GroupBox(gOptions, mColumns);

            PackStart(bar, false, false);
            PackStart(map, true, true);
            //BackgroundColor = GuiEnvironment.Theme["Page"].BaseColor;
        }
Пример #6
0
        public ListEditor(LayoutList list)
            : base()
        {
            handleGetEditor = ListOnGetCellEditor;

            toolStatusArchive = new ToolMenuItem()
            {
                Name = "Archive", Tag = DBStatus.Archive, Glyph = GlyphType.FlagCheckered
            };
            toolStatusEdit = new ToolMenuItem()
            {
                Name = "Edit", Tag = DBStatus.Edit, GlyphColor = Colors.DarkOrange, Glyph = GlyphType.Flag
            };
            toolStatusError = new ToolMenuItem()
            {
                Name = "Error", Tag = DBStatus.Error, GlyphColor = Colors.DarkRed, Glyph = GlyphType.Flag
            };
            toolStatusDelete = new ToolMenuItem()
            {
                Name = "Delete", Tag = DBStatus.Delete, GlyphColor = Colors.Purple, Sensitive = false, Glyph = GlyphType.Flag
            };
            toolStatusActual = new ToolMenuItem()
            {
                Name = "Actual", Tag = DBStatus.Actual, GlyphColor = Colors.DarkGreen, Sensitive = false, Glyph = GlyphType.Flag
            };
            toolStatusNew = new ToolMenuItem()
            {
                Name = "New", Tag = DBStatus.New, GlyphColor = Colors.DarkBlue, Sensitive = false, Glyph = GlyphType.Flag
            };

            toolStatus = new ToolSplit()
            {
                Name = "Status", Glyph = GlyphType.Flag, DropDown = new Menubar {
                    Name = "Status"
                }
            };
            toolStatus.DropDownItems.AddRange(new[] {
                toolStatusNew,
                toolStatusActual,
                toolStatusEdit,
                toolStatusArchive,
                toolStatusError,
                toolStatusDelete
            });
            toolStatus.ButtonClick += OnToolStatusClick;
            toolStatus.ItemClick   += ToolStatusItemClicked;

            toolPosition = new ToolLabel {
                Name = "Position", Text = "_ / _"
            };

            toolCopy = new ToolMenuItem(OnToolCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            };
            toolInsert = new ToolMenuItem(OnToolInsertClick)
            {
                Name = "Insert", Glyph = GlyphType.Plus
            };

            toolCut = new ToolItem(OnToolCutClick)
            {
                Name = "Cut", DisplayStyle = ToolItemDisplayStyle.Text, Visible = false, Glyph = GlyphType.CutAlias
            };
            toolLog = new ToolItem(OnToolLogClick)
            {
                Name = "Logs", DisplayStyle = ToolItemDisplayStyle.Text, Glyph = GlyphType.History
            };
            toolAccess = new ToolItem(ToolAccessClick)
            {
                Name = "Access", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true, Glyph = Glyph = GlyphType.Key
            };
            toolRefresh = new ToolItem(OnToolRefreshClick)
            {
                Name = "Refresh", DisplayStyle = ToolItemDisplayStyle.Text, Glyph = GlyphType.Refresh
            };
            toolSave = new ToolItem(OnToolSaveClick)
            {
                Name = "Save", DisplayStyle = ToolItemDisplayStyle.Text, GlyphColor = Colors.Blue, Glyph = GlyphType.SaveAlias
            };
            toolLoad = new ToolItem(OnToolLoadClick)
            {
                Name = "Load", DisplayStyle = ToolItemDisplayStyle.Text, Glyph = GlyphType.FolderOpen
            };
            toolAdd = new ToolDropDown(toolInsert, toolCopy)
            {
                Name = "Add", DisplayStyle = ToolItemDisplayStyle.Text, GlyphColor = Colors.Green, Glyph = GlyphType.PlusCircle
            };
            toolRemove = new ToolItem(OnToolRemoveClick)
            {
                Name = "Remove", DisplayStyle = ToolItemDisplayStyle.Text, GlyphColor = Colors.Red, Glyph = GlyphType.MinusCircle
            };
            toolEdit = new ToolItem(OnToolEditClick)
            {
                Name = "Edit", DisplayStyle = ToolItemDisplayStyle.Text, Visible = false, GlyphColor = Colors.SandyBrown, Glyph = GlyphType.Pencil
            };

            bar = new Toolsbar(
                toolRefresh,
                toolLoad,
                toolSave,
                new ToolSeparator(),
                toolAccess,
                toolAdd,
                toolRemove,
                //toolEdit,
                toolCut,
                toolLog,
                toolStatus,
                new ToolSeparator()
            {
                FillWidth = true
            },
                toolPosition)
            {
                Name = "ListEditor"
            };

            box = new VBox()
            {
                Spacing = 1
            };
            box.PackStart(bar, false, false);

            container = new VPaned()
            {
                Name = "container"
            };
            container.Panel1.Content = box;

            PackStart(container, true, true);
            List = list;

            fields                    = (LayoutList)EmitInvoker.CreateObject(list.GetType());
            fields.EditMode           = EditModes.ByClick;
            fields.RetriveCellEditor += handleGetEditor;

            toolWindow = new ToolWindow()
            {
                Target = fields, Mode = ToolShowMode.Dialog
            };
            toolWindow.ButtonAcceptClick += OnToolWindowAcceptClick;
            toolWindow.ButtonCloseClick  += OnToolWindowCancelClick;

            Localize();
        }
Пример #7
0
        public MainWindow()
        {
            GuiService.Main         = this;
            Helper.ThreadException += OnThreadException;

            ListEditor.StatusClick += FieldsEditorStatusClick;
            ListEditor.LogClick    += FieldsEditorLogClick;

            icon = Application.CreateStatusIcon();

            openFD = new OpenFileDialog()
            {
                Title = "Open File"
            };
            saveFD = new SaveFileDialog()
            {
                Title = "Save File"
            };

            menuProjectCreate = new ToolMenuItem {
                Name = "Create", DropDown = new Menubar {
                    Name = "Create"
                }
            };
            menuProjectCreate.ItemClick += ToolProjectCreateItemClick;
            menuProjectOpen              = new ToolMenuItem(ToolProjectOpenClick)
            {
                Name = "Open"
            };
            menuProjectProps = new ToolMenuItem(ToolProjectPropertiesClick)
            {
                Name = "Properties"
            };
            menuProjectSave = new ToolMenuItem(ToolProjectSaveClick)
            {
                Name = "Save"
            };
            menuProjectSaveAs = new ToolMenuItem(ToolProjectSaveAsClick)
            {
                Name = "SaveAs"
            };
            menuProjectRecent = new ToolMenuItem()
            {
                Name = "Recent"
            };
            menuProjectClose = new ToolMenuItem(ToolProjectCloseClick)
            {
                Name = "Close"
            };
            menuProjectExit = new ToolMenuItem(ToolExitOnClick)
            {
                Name = "Exit"
            };

            menuProject = new ToolDropDown(
                menuProjectCreate,
                menuProjectOpen,
                menuProjectProps,
                menuProjectSave,
                menuProjectSaveAs,
                menuProjectRecent,
                menuProjectClose,
                menuProjectExit)
            {
                Name = "Project", DisplayStyle = ToolItemDisplayStyle.Text
            };

            menuView = new ToolDropDown(
                BuildMenuItem(typeof(PropertiesEditor), "Properties"),
                BuildMenuItem(typeof(LogExplorer), "Logs"),
                new ToolSeparator())
            {
                Name = "View", DisplayStyle = ToolItemDisplayStyle.Text
            };

            menuEditUIEnvironment = new ToolMenuItem(ToolEditUIEnvironment)
            {
                Name = "UI Environment"
            };
            menuEditLocalize = new ToolMenuItem(ToolEditLocalizeClick)
            {
                Name = "Localize"
            };

            menuWindowLang = new ToolMenuItem {
                Name = "Language", DropDown = new Menubar {
                    Name = "Language"
                }
            };
            foreach (var info in Locale.Instance.Cultures)
            {
                menuWindowLang.DropDown.Items.Add(new ToolLangItem(LangItemClick)
                {
                    Culture = info,
                    Name    = info.Name,
                    Text    = info.DisplayName,
                });
            }
            menuWindowTheme = new ToolMenuItem {
                Name = "Theme", DropDown = new Menubar {
                    Name = "Theme"
                }
            };
            foreach (var theme in GuiEnvironment.Instance.Themes)
            {
                menuWindowTheme.DropDown.Items.Add(new ToolThemeItem(ThemeItemClick)
                {
                    Theme = theme,
                    Name  = theme.Name,
                    Text  = theme.Name,
                });
            }
            menuWindow = new ToolDropDown(
                menuEditUIEnvironment,
                menuEditLocalize,
                new ToolSeparator(),
                menuWindowLang,
                menuWindowTheme)
            {
                Name         = "Window",
                DisplayStyle = ToolItemDisplayStyle.Text
            };
            menuHelpAbout = new ToolMenuItem()
            {
                Name = "About"
            };
            menuHelp = new ToolDropDown(menuHelpAbout)
            {
                Name = "Help", DisplayStyle = ToolItemDisplayStyle.Text
            };

            bar = new Toolsbar(
                new ToolSeparator {
                FillWidth = true
            },
                menuView,
                menuWindow,
                menuHelp)
            {
                Name = "MainBar"
            };

            toolTasks = new ToolSplit {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Tasks"
            };
            toolProgress = new ToolProgressBar {
                Name = "Progress", Visible = false
            };
            toolLabel = new ToolLabel()
            {
                Name = "Label", Text = "_"
            };

            statusBar = new Toolsbar(
                toolTasks,
                toolProgress,
                toolLabel)
            {
                Name = "StatusBar"
            };

            dock = new DockBox()
            {
                Name = "dock"
            };
            dock.ContentFocus += DockOnContentFocus;
            //icon.Image = Image.FromResource(GetType(), "datawf.ico"); ;

            var vbox = new VBox()
            {
                Spacing = 0
            };

            vbox.PackStart(bar, false, false);
            vbox.PackStart(dock, true, true);
            vbox.PackStart(statusBar, false, false);

            Padding         = new WidgetSpacing(5, 5, 5, 5);
            Icon            = Image.FromResource(typeof(MainWindow), "datawf.png");
            Content         = vbox;
            Name            = "Main";
            InitialLocation = WindowLocation.CenterScreen;
            Title           = "Main Form";
            Size            = new Size(1024, 768);
            BackgroundColor = GuiEnvironment.Theme["Window"].BaseColor;
        }