コード例 #1
0
ファイル: MessageEditor.cs プロジェクト: radtek/datawf
        public MessageEditor()
        {
            toolUsers = new ToolFieldEditor
            {
                Name            = "User",
                ContentMinWidth = 200,
                Editor          = new CellEditorUserTree()
                {
                    UserKeys = UserTreeKeys.Department | UserTreeKeys.Department | UserTreeKeys.User | UserTreeKeys.Current | UserTreeKeys.Access
                }
            };
            toolUsers.Field.BindData(this, nameof(Staff));

            toolHistory = new ToolItem(ToolHistoryClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "History"
            };
            toolSend = new ToolItem(ToolSendClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Send"
            };

            tools = new Toolsbar(
                toolUsers,
                toolHistory,
                new ToolSeparator {
                FillWidth = true
            },
                toolSend)
            {
                Name = "Bar"
            };

            text = new TextEntry
            {
                Name            = "text",
                MultiLine       = true,
                BackgroundColor = GuiEnvironment.Theme["List"].BackBrush.Color,
                TextColor       = GuiEnvironment.Theme["List"].FontBrush.Color,
            };
            MessageText = string.Empty;

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

            Name = nameof(MessageEditor);
        }
コード例 #2
0
ファイル: TableView.cs プロジェクト: radtek/datawf
        public TableView()
            : base()
        {
            list = new TableLayoutList()
            {
                EditState        = EditListState.ReadOnly,
                GenerateToString = false,
                Name             = "list"
            };
            list.PositionChanged  += OnNotifyPositionChangedEV;
            list.SelectionChanged += OnSelectionChanged;
            list.CellDoubleClick  += TableViewCellDoubleClick;

            lable = new ToolLabel {
                Name = "lable", Text = "_"
            };

            toolLoad = new ToolItem(ToolLoadClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text,
                Name         = "Load",
                Text         = "Load"
            };

            toolProgress = new ToolTableLoader {
                Loader = loader
            };

            bar = new Toolsbar(
                lable,
                toolLoad,
                toolProgress)
            {
                Name = "Bar"
            };

            Name = "TableView";
            PackStart(bar, false, false);
            PackStart(list, true, true);
        }
コード例 #3
0
        public ChangeViewer()
        {
            toolRefresh = new ToolItem(ToolRefreshClick)
            {
                Name = "Refresh", Text = "Refresh", Glyph = GlyphType.Refresh
            };
            toolAccept = new ToolItem(ToolAcceptClick)
            {
                Name = "Accept", Text = "Accept", Glyph = GlyphType.Check
            };
            toolReject = new ToolItem(ToolRejectClick)
            {
                Name = "Reject", Text = "Reject", Glyph = GlyphType.Undo
            };
            toolDetails = new ToolItem(ToolDetailsClick)
            {
                Name = "Details", Text = "Details", Glyph = GlyphType.Tag
            };

            tools = new Toolsbar(toolRefresh,
                                 toolAccept,
                                 toolReject,
                                 toolDetails)
            {
                Name = "Bar"
            };

            listObjects = new DataTree()
            {
                Name     = "listObjects",
                DataKeys = DataTreeKeys.CheckTableAdmin | DataTreeKeys.Table | DataTreeKeys.Schema
            };
            listObjects.ListInfo.Columns.Add("Count", 35);
            listObjects.BuildColumn(listObjects.ListInfo, null, "Count");
            listObjects.SelectionChanged += ListObjectsSelectionChanged;

            listRows = new LayoutList()
            {
                EditMode         = EditModes.None,
                EditState        = EditListState.Edit,
                GenerateColumns  = false,
                GenerateToString = false,
                Mode             = LayoutListMode.List,
                Name             = "listRows"
            };
            listRows.ListInfo.Columns.Add("Row.Status", 60);
            listRows.ListInfo.Columns.Add("Row", 200).FillWidth  = true;
            listRows.ListInfo.Columns.Add("User", 100).FillWidth = true;
            listRows.SelectionChanged += RowsSelectionChanged;

            listDiff.EditMode         = EditModes.None;
            listDiff.EditState        = EditListState.Edit;
            listDiff.GenerateColumns  = false;
            listDiff.GenerateToString = false;
            listDiff.Mode             = LayoutListMode.List;
            listDiff.Name             = "listDiff";
            listDiff.Text             = "listdetails";
            listDiff.ListInfo.Columns.Add("Column", 120);
            listDiff.ListInfo.Columns.Add("OldFormat", 150).FillWidth = true;
            listDiff.ListInfo.Columns.Add("NewFormat", 150).FillWidth = true;
            listDiff.ListInfo.StyleRowName  = "ChangeRow";
            listDiff.ListInfo.HeaderVisible = false;

            this.Name = "ChangeViewer";
            this.Text = "Change Viewer";

            PackStart(tools, false, false);
            PackStart(split1, true, true);
            split1.Name           = "splitter";
            split1.Panel1.Content = listObjects;
            split1.Panel2.Content = split2;
            split2.Name           = "groupBoxMap2";
            split2.Panel1.Content = listRows;
            split2.Panel2.Content = listDiff;

            rows     = new SelectableList <LogMap>();
            rowsView = new SelectableListView <LogMap>(rows);
            //rowsView.Filter.Parameters.Add(typeof(RowChanges), LogicType.Undefined, "Row.Status", CompareType.NotEqual, DBStatus.Actual);
            listRows.ListSource = rowsView;
        }
コード例 #4
0
ファイル: DataQuery.cs プロジェクト: alexandrvslv/datawf
        public DataQuery()
        {
            tw.Mode = ToolShowMode.Dialog;
            tw.ButtonAccept.Click += ButtonAccept_Click;

            timeInterval.Interval = 1000;
            timeInterval.Elapsed += TimeIntervalTick;

            toolSave = new ToolItem(ToolSaveClick)
            {
                Name = "Save", Glyph = GlyphType.SaveAlias
            };
            toolLoad = new ToolItem(ToolLoadClick)
            {
                Name = "Load", Glyph = GlyphType.FolderOpen
            };
            toolExecute = new ToolItem(ToolExecuteClick)
            {
                Name = "Execute", Glyph = GlyphType.Play
            };
            toolParser = new ToolItem(ToolParseClick)
            {
                Name = "Parse", Glyph = GlyphType.Code
            };
            toolGenerate = new ToolItem(ToolGenerateClick)
            {
                Name = "Generate", Glyph = GlyphType.GearAlias
            };
            toolStop = new ToolItem(ToolStopClick)
            {
                Name = "Stop", Glyph = GlyphType.Stop
            };
            toolResult = new ToolItem(ToolSpliterClick)
            {
                Name = "Result", CheckOnClick = true, Glyph = GlyphType.List
            };
            toolTimer = new ToolLabel {
                Name = "Timer", Text = "_:_"
            };
            toolSchems = new ToolFieldEditor
            {
                Name   = "toolSchems",
                Editor = new CellEditorList
                {
                    DataType   = typeof(DBSchema),
                    DataSource = DBService.Schems
                }
            };
            toolSchems.Field.BindData(this, nameof(CurrentSchema));
            //var fieldstring = new DataField<string>();
            //var fieldschema = new DataField<DBSchema>();
            //ListStore store = new ListStore(fieldstring, fieldschema);
            //foreach (var schema in DBService.Schems)
            //store.SetValues(store.AddRow(), fieldstring, schema.Name, fieldschema, schema);
            //toolSchems.ComboBox.Views.Add(new TextCellView(fieldstring));
            //toolSchems.ComboBox.ItemsSource = store;
            //toolSchems.ComboBox.DataSource = DBService.Schems;

            bar = new Toolsbar(
                toolSchems,
                toolLoad,
                toolSave,
                new ToolSeparator(),
                toolExecute,
                toolStop,
                new ToolSeparator(),
                toolGenerate,
                toolParser,
                new ToolSeparator()
            {
                FillWidth = true
            },
                toolResult,
                toolTimer)
            {
                Name = "bar"
            };

            queryText = new TextEditor {
                Name = "queryText", Text = ""
            };
            queryText.Document.MimeType = "text/x-sql";
            //queryText.TextArea.ColorStyle = Mono.TextEditor.Highlighting.ColorScheme.LoadFrom[""];

            var scroll = new ScrollView()
            {
                Content = queryText
            };

            list = new TableLayoutList()
            {
                GenerateToString = false,
                Visible          = false
            };

            container = new HPaned();
            container.Panel1.Content = scroll;
            container.Panel2.Content = list;

            Name = "DataQuery";
            PackStart(bar, false, false);
            PackStart(container, true, true);

            Localize();

            toolFind = new FindWindow {
                Editor = queryText
            };
            CurrentSchema = DBService.Schems.DefaultSchema;
        }
コード例 #5
0
        public DataLogView()
        {
            toolModeDefault = new ToolMenuItem {
                Name = "Default", Tag = DataLogMode.Default
            };
            toolModeDocument = new ToolMenuItem {
                Name = "Document", Tag = DataLogMode.Document
            };
            toolModeTable = new ToolMenuItem {
                Name = "Table", Tag = DataLogMode.Table
            };

            toolMode = new ToolDropDown(
                toolModeDefault,
                toolModeDocument,
                toolModeTable)
            {
                DisplayStyle = ToolItemDisplayStyle.Text,
                Name         = "LogMode",
                Text         = "Mode: Default"
            };
            toolMode.ItemClick += ToolModeClick;

            toolRollback = new ToolItem(ToolRollbackClick)
            {
                Name = "Rollback", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolAccept = new ToolItem(ToolAcceptClick)
            {
                Name = "Accept", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolCheck = new ToolItem()
            {
                Name = "Check", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolDetails = new ToolItem(ToolDetailsClick)
            {
                Name = "Details", DisplayStyle = ToolItemDisplayStyle.Text
            };

            dateField = new ToolFieldEditor()
            {
                Editor = new CellEditorDate {
                    TwoDate = true, DataType = typeof(DateInterval)
                },
                Name            = "Date",
                ContentMinWidth = 200
            };
            dateField.Field.BindData(this, nameof(Date));

            dataField = new ToolFieldEditor()
            {
                Editor = new CellEditorDataTree {
                    DataType = typeof(DBTable)
                },
                Name            = "Table",
                ContentMinWidth = 200
            };
            dataField.Field.BindData(this, nameof(Table));

            toolProgress = new ToolTableLoader()
            {
            };

            bar = new Toolsbar(
                toolRollback,
                toolMode,
                toolDetails,
                new ToolSeparator {
                FillWidth = true
            },
                dateField,
                dataField,
                toolProgress)
            {
                Name = "BarLog"
            };

            list = new LayoutList()
            {
                AllowEditColumn  = false,
                EditMode         = EditModes.None,
                EditState        = EditListState.Edit,
                GenerateToString = false,
                Mode             = LayoutListMode.List,
                Name             = "list",
                ListSource       = listSource = new SelectableList <DBLogItem>()
            };
            list.GenerateColumns   = true;
            list.CellMouseClick   += ListCellMouseClick;
            list.CellDoubleClick  += ListCellDoubleClick;
            list.SelectionChanged += ListSelectionChanged;

            //if (logs.Table != null)
            //    logs.ApplySort(new DBRowComparer(logs.Table.DateKey, ListSortDirection.Ascending));
            detailList = new TableLayoutList()
            {
                GenerateToString = false,
                GenerateColumns  = false,
                ReadOnly         = true,
                EditMode         = EditModes.ByClick
            };
            detailList.ListInfo.Columns.Add("Column", 120).Editable     = false;
            detailList.ListInfo.Columns.Add("OldFormat", 100).FillWidth = true;
            detailList.ListInfo.Columns.Add("NewFormat", 100).FillWidth = true;
            detailList.ListInfo.StyleRowName  = "ChangeRow";
            detailList.ListInfo.HeaderVisible = false;

            detailRow = new TableLayoutList();

            map = new GroupBox(
                new GroupBoxItem {
                Name = "Details", Widget = detailList, Column = 0, FillWidth = true, FillHeight = true
            },
                //new GroupBoxItem { Name = "Difference", Widget = detailText, Col = 1, FillWidth = true, FillHeight = true },
                new GroupBoxItem {
                Name = "Record", Widget = detailRow, Column = 2, FillWidth = true, FillHeight = true
            });
            //list.ListInfo.Columns.Add(list.BuildColumn(null, "Text"));

            split = new VPaned();
            split.Panel1.Content = list;
            //split.Panel2.Content = map;

            PackStart(bar, false, false);
            PackStart(split, true, true);
            Name = "DataLog";
        }
コード例 #6
0
        public PermissionEditor()
        {
            toolLogs = new ToolItem(ToolLogsClick)
            {
                Name = "Logs", Glyph = GlyphType.History
            };
            toolSave = new ToolItem(ToolSaveClick)
            {
                Name = "Save", Sensitive = false, Glyph = GlyphType.SaveAlias
            };
            toolReject = new ToolItem(ToolCancelClick)
            {
                Name = "Cancel", Glyph = GlyphType.Undo
            };
            toolExport = new ToolItem(ToolExportClick)
            {
                Name = "Export", Glyph = GlyphType.FileTextO
            };
            toolFilterText = new ToolTextEntry {
                Name = "FilterText"
            };

            list = new LayoutList()
            {
                EditMode         = EditModes.ByClick,
                EditState        = EditListState.Edit,
                GenerateColumns  = false,
                GenerateToString = false,
                Grouping         = false,
                Mode             = LayoutListMode.List,
                Name             = "list",
                Text             = "columns"
            };

            bar = new Toolsbar(
                toolSave,
                toolReject,
                toolExport,
                toolLogs,
                new ToolSeparator {
                FillWidth = true
            },
                toolFilterText)
            {
                Name = "Bar"
            };

            var listInfo = new LayoutListInfo(
                new LayoutColumn
            {
                Name      = nameof(Node.ToString),
                Editable  = false,
                Width     = 120,
                FillWidth = true,
                Invoker   = ToStringInvoker.Instance
            },
                new LayoutColumn
            {
                Name    = "View",
                Width   = 60,
                Invoker = new ActionInvoker <TableItemNode, bool?>("View",
                                                                   (item) => item.Access?.Get(Group).Read,
                                                                   (item, value) => CheckSave(item, AccessType.Read, value))
            },
                new LayoutColumn
            {
                Name    = "Edit",
                Width   = 60,
                Invoker = new ActionInvoker <TableItemNode, bool?>("Edit",
                                                                   (item) => item.Access?.Get(Group).Update,
                                                                   (item, value) => CheckSave(item, AccessType.Update, value))
            },
                new LayoutColumn
            {
                Name    = "Create",
                Width   = 60,
                Invoker = new ActionInvoker <TableItemNode, bool?>("Create",
                                                                   (item) => item.Access?.Get(Group).Create,
                                                                   (item, value) => CheckSave(item, AccessType.Create, value))
            },
                new LayoutColumn
            {
                Name    = "Delete",
                Width   = 60,
                Invoker = new ActionInvoker <TableItemNode, bool?>("Delete",
                                                                   (item) => item.Access?.Get(Group).Delete,
                                                                   (item, value) => CheckSave(item, AccessType.Delete, value))
            },
                new LayoutColumn
            {
                Name    = "Admin",
                Width   = 60,
                Invoker = new ActionInvoker <TableItemNode, bool?>("Admin",
                                                                   (item) => item.Access?.Get(Group).Admin,
                                                                   (item, value) => CheckSave(item, AccessType.Admin, value))
            },
                new LayoutColumn
            {
                Name    = "Accept",
                Width   = 60,
                Invoker = new ActionInvoker <TableItemNode, bool?>("Accept",
                                                                   (item) => item.Access?.Get(Group).Accept,
                                                                   (item, value) => CheckSave(item, AccessType.Accept, value))
            },
                new LayoutColumn
            {
                Name    = "Table",
                Visible = false,
                Invoker = new PropertyInvoker <TableItemNode, string>("TableName")
            })
            {
                Tree           = true,
                ColumnsVisible = true,
                HeaderVisible  = true,
                GroupCount     = false
            };

            listInfo.Sorters.Add(new LayoutSort("Order"));
            var nodeInfo = new LayoutNodeInfo {
                Columns = listInfo
            };

            tree = new FlowTree
            {
                NodeInfo    = nodeInfo,
                Name        = "tree",
                EditState   = EditListState.Edit,
                EditMode    = EditModes.ByF2,
                UserKeys    = UserTreeKeys.Department | UserTreeKeys.User | UserTreeKeys.Group | UserTreeKeys.Permission,
                FlowKeys    = FlowTreeKeys.Template | FlowTreeKeys.TemplateData | FlowTreeKeys.Work | FlowTreeKeys.Stage | FlowTreeKeys.StageParam,
                FilterEntry = toolFilterText.Entry
            };
            tree.SelectionChanged += TreeSelectionChanged;

            map = new GroupBox(
                new GroupBoxItem
            {
                Text      = "Params",
                Widget    = list,
                FillWidth = true
            },
                new GroupBoxItem
            {
                Text       = "Permissions",
                Widget     = tree,
                FillWidth  = true,
                FillHeight = true,
                Row        = 1
            });

            Name = "PermissionEditor";
            Text = "Permissions";
            PackStart(bar, false, false);
            PackStart(map, true, true);

            UserReg.RowLoged += FlowEnvirRowLoged;

            Localize();
        }
コード例 #7
0
        public DocumentEditor()
        {
            FileSerialize = true;

            toolProcedures = new ToolDropDown {
                Name = "Procedures", Glyph = GlyphType.PuzzlePiece, DropDown = new Menubar {
                    Name = "Procedures"
                }
            };
            toolSave = new ToolItem(ToolSaveClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Save", Glyph = GlyphType.SaveAlias
            };
            toolRefresh = new ToolItem(ToolRefreshClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Refresh", Glyph = GlyphType.Refresh
            };
            toolDelete = new ToolItem(ToolDeleteClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Delete", Glyph = GlyphType.MinusSquare
            };
            toolLogs = new ToolItem(ToolLogsOnClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Logs", Glyph = GlyphType.History
            };
            toolBarCode = new ToolItem(ToolBarCodeClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "BarCode", Glyph = GlyphType.Barcode
            };
            toolSend = new ToolItem(ToolAcceptClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Send/Accept", Glyph = GlyphType.CheckCircle
            };

            bar = new Toolsbar(
                //toolProcedures,
                toolSave,
                toolRefresh,
                toolDelete,
                new ToolSeparator(),
                toolLogs,
                toolBarCode,
                new ToolSeparator(),
                toolSend
                )
            {
                Name = "tools"
            };
            toolsItems = bar.Items.Cast <ToolItem>();

            dock = new DockBox()
            {
                Name = "dock",
            };

            Glyph = GlyphType.Book;
            Name  = nameof(DocumentEditor);
            Text  = "Document";
            Tag   = "Document";

            PackStart(bar, false, false);
            PackStart(dock, true, true);

            Localize();
        }
コード例 #8
0
        public DocumentListView()
        {
            filterClear = new ToolItem(FilterClearClick)
            {
                Name = "Clear", Glyph = GlyphType.Eraser
            };
            filterWork = new ToolItem((s, e) =>
            {
                Filter.IsWork = filterWork.Checked ? CheckedState.Checked : CheckedState.Indeterminate;
            })
            {
                Name = "Work", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true
            };
            filterCurrent = new ToolItem((s, e) =>
            {
                Filter.IsCurrent = filterCurrent.Checked;
            })
            {
                Name = "TODO", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true
            };
            filterToolView = new ToolFieldEditor {
                FillWidth = true, Name = nameof(Filter), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterCustomer = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Customer), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterNumber = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Number), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterTitle = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Title), DisplayStyle = ToolItemDisplayStyle.Text
            };
            filterDate = new ToolFieldEditor {
                FillWidth = true, Name = nameof(DocumentFilter.Date), DisplayStyle = ToolItemDisplayStyle.Text
            };

            var filterGroup = new ToolItem {
                Row = 1, Name = "FilterBar"
            };

            filterGroup.AddRange(new ToolItem[]
            {
                filterToolView,
                filterCustomer,
                filterNumber,
                filterTitle,
                filterDate,
                new ToolSeparator {
                    Width = 20
                },
                filterWork,
                filterCurrent,
                filterClear
            });

            ofDialog = new OpenFileDialog()
            {
                Multiselect = true
            };

            loader = new TableLoader {
                LoadParam = DBLoadParam.Referencing
            };

            toolCreate = new ToolItem(ToolCreateClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Create", GlyphColor = Colors.Green, Glyph = GlyphType.PlusCircle
            };
            toolCopy = new ToolItem(ToolCopyClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Copy", Glyph = GlyphType.CopyAlias
            };
            toolLoad = new ToolItem(ToolLoadClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Load", Glyph = GlyphType.Download
            };
            toolSend = new ToolItem(ToolAcceptClick)
            {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Send/Accept", Glyph = GlyphType.CheckCircle
            };

            toolCount = new ToolLabel {
                Text = "0"
            };
            toolPreview = new ToolItem(ToolPreviewClick)
            {
                CheckOnClick = true, Checked = true, Name = "Preview", Glyph = GlyphType.List
            };
            toolParam = new ToolDropDown(ToolParamClick)
            {
                Name = "Parameters", Glyph = GlyphType.Spinner
            };
            toolProgress = new ToolTableLoader {
                Loader = loader
            };

            bar = new Toolsbar(
                toolCreate,
                toolCopy,
                toolLoad,
                new ToolSeparator {
                FillWidth = true
            },
                toolCount,
                toolPreview,
                toolProgress,
                filterGroup)
            {
                Name = "DocumentListBar"
            };

            list = new DocumentLayoutList()
            {
                EditMode = EditModes.ByF2,
                Name     = "DocumentList",
                ReadOnly = true
            };
            list.CellDoubleClick  += ListCellMouseDoubleClick;
            list.PositionChanged  += ListOnPositionChanged;
            list.SelectionChanged += ListOnSelectionChanged;

            //hSplit.Panel1.Resize = false;
            //hSplit.Panel2.Resize = true;
            //hSplit.Panel2.Content = vSplit;

            PackStart(bar, false, false);
            PackStart(list, true, true);
            Name      = "DocumentListView";
            Documents = new DBTableView <Document>();
            Filter    = new DocumentFilter();
        }
コード例 #9
0
ファイル: DataExport.cs プロジェクト: radtek/datawf
        public DataExport()
        {
            toolInit = new ToolItem(ToolInitClick)
            {
                Name = "Init", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolScript = new ToolItem(ToolScriptClick)
            {
                Name = "Script", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolCode = new ToolItem(ToolCodeClick)
            {
                Name = "Code", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolSchema = new ToolItem(ToolSchemaClick)
            {
                Name = "Schema", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolStart = new ToolItem(ToolStartClick)
            {
                Name = "Start", DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolCancel = new ToolItem(ToolCancelClick)
            {
                Name = "Cancel", Sensitive = false, DisplayStyle = ToolItemDisplayStyle.Text
            };
            toolProgress = new ToolProgressBar {
                Name = "Progress"
            };

            tools = new Toolsbar(
                toolInit,
                toolScript,
                toolCode,
                toolSchema,
                toolStart,
                toolCancel,
                toolProgress)
            {
                Name = "tools"
            };


            listTables = new ListEditor()
            {
                Name = "listTables", ReadOnly = false
            };
            listTables.List.SelectionChanged += ListTablesOnSelectionChahged;
            listTables.List.AllowCheck        = true;
            listTables.List.AllowSort         = false;
            listTables.List.EditMode          = EditModes.ByF2;

            listColumns = new ListEditor()
            {
                Name = "listColumns", ReadOnly = false
            };
            listColumns.List.AllowCheck = true;
            listColumns.List.AllowSort  = false;
            listColumns.List.EditMode   = EditModes.ByF2;

            setting = new TableLayoutList()
            {
                EditMode  = EditModes.ByClick,
                EditState = EditListState.Edit,
                Mode      = LayoutListMode.List,
                Name      = "setting",
                Text      = "Settings"
            };

            var gSetting = new GroupBoxItem()
            {
                Name          = "Setting",
                Widget        = setting,
                Column        = 0,
                Row           = 0,
                Autosize      = false,
                DefaultHeight = 250,
                Width         = 300
            };

            var gTable = new GroupBoxItem()
            {
                Name          = "Tables",
                Widget        = listTables,
                Column        = 1,
                Row           = 0,
                Autosize      = false,
                FillWidth     = true,
                DefaultHeight = 250
            };

            var gColumn = new GroupBoxItem()
            {
                Name       = "Columns",
                Widget     = listColumns,
                Column     = 0,
                Row        = 1,
                FillWidth  = true,
                FillHeight = true
            };

            map = new GroupBox(gSetting, gTable, gColumn);

            Name = "DataExport";
            Text = "Export";

            PackStart(tools, false, false);
            PackStart(map, true, true);
        }
コード例 #10
0
ファイル: FlowExplorer.cs プロジェクト: radtek/datawf
        public FlowExplorer()
            : base()
        {
            contextTools = new Menubar(
                new ToolMenuItem(ToolMainRefreshClick)
            {
                Name = "Refresh", Glyph = GlyphType.Refresh
            },
                new ToolMenuItem(ToolGenerateDBClick)
            {
                Name = "Generate database", Glyph = GlyphType.Database
            },
                new ToolMenuItem(ToolStatClick)
            {
                Name = "Stats", Glyph = GlyphType.Link
            })
            {
                Name = "FlowExplorer"
            };

            contextAdd = new Menubar(
                new ToolMenuItem
            {
                Name      = "Template",
                Sensitive = Template.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.Book
            },
                new ToolMenuItem
            {
                Name      = "Template Data",
                Sensitive = TemplateData.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.File
            },
                new ToolMenuItem
            {
                Name      = "Work",
                Sensitive = Work.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.GearsAlias
            },
                new ToolMenuItem
            {
                Name      = "Work Stage",
                Sensitive = Stage.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.EditAlias
            },
                new ToolMenuItem
            {
                Name      = "Stage Parameter",
                Sensitive = StageParam.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.Columns,
                DropDown  = new Menubar(
                    new ToolMenuItem
                {
                    Name      = "Stage Procedure",
                    Sensitive = StageParam.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                    Glyph     = GlyphType.EditAlias
                },
                    new ToolMenuItem
                {
                    Name      = "Stage Reference",
                    Sensitive = StageParam.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                    Glyph     = GlyphType.EditAlias
                }
                    )
            },
                new ToolMenuItem
            {
                Name      = "Group",
                Sensitive = UserGroup.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.Users
            },
                new ToolMenuItem
            {
                Name      = "Department",
                Sensitive = Department.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.Home
            },
                new ToolMenuItem
            {
                Name      = "Position",
                Sensitive = Position.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.UserMd
            },
                new ToolMenuItem
            {
                Name      = "User",
                Sensitive = User.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.User
            },
                new ToolMenuItem
            {
                Name      = "Scheduler",
                Sensitive = Scheduler.DBTable?.Access.GetFlag(AccessType.Create, GuiEnvironment.User) ?? false,
                Glyph     = GlyphType.ClockO
            })
            {
                Name = "FlowExplorer"
            };
            contextAdd.Bar.ItemClick += ContextAddItemClicked;

            barMain = new Toolsbar(
                new ToolDropDown {
                Name = "Add", GlyphColor = Colors.DarkGreen, DropDown = contextAdd, Glyph = GlyphType.PlusCircle
            },
                new ToolItem(ToolMainRemoveClick)
            {
                Name = "Remove", GlyphColor = Colors.DarkRed, Glyph = GlyphType.MinusCircle
            },
                new ToolItem(ToolMainCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            },
                new ToolDropDown {
                Name = "Tools", DropDown = contextTools, Glyph = GlyphType.Wrench
            },
                new ToolSearchEntry()
            {
                Name = "FilterText", FillWidth = true
            })
            {
                Name = "FlowExplorer"
            };

            se = new ListEditor();

            ose = new ToolWindow {
                Target = se
            };
            ose.ButtonAcceptClick += AcceptOnActivated;

            var userKeys = UserTreeKeys.None;

            if (Department.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                userKeys |= UserTreeKeys.Department;
            }
            if (Position.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                userKeys |= UserTreeKeys.Position;
            }
            if (GroupPermission.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                userKeys |= UserTreeKeys.Permission;
            }
            if (User.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                userKeys |= UserTreeKeys.User;
            }
            if (UserGroup.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                userKeys |= UserTreeKeys.Group;
            }
            if (Scheduler.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                userKeys |= UserTreeKeys.Scheduler;
            }
            var keys = FlowTreeKeys.None;

            //if (TemplateParam.DBTable?.Access.View ?? false) keys |= FlowTreeKeys.TemplateParam;
            if (Template.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                keys |= FlowTreeKeys.Template;
            }
            if (StageParam.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                keys |= FlowTreeKeys.StageParam;
            }
            if (Stage.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                keys |= FlowTreeKeys.Stage;
            }
            if (Work.DBTable?.Access.GetFlag(AccessType.Read, GuiEnvironment.User) ?? false)
            {
                keys |= FlowTreeKeys.Work;
            }
            tree = new FlowTree
            {
                FlowKeys    = keys,
                UserKeys    = userKeys,
                FilterEntry = ((ToolSearchEntry)barMain["FilterText"]).Entry
            };
            tree.ListInfo.HeaderVisible = true;
            tree.ListInfo.HeaderWidth   = 35;
            tree.SelectionChanged      += TreeAfterSelect;
            tree.CellMouseClick        += TreeNodeMouseClick;
            tree.CellDoubleClick       += TreeNodeMouseDoubleClick;

            Name = "FlowExplorer";
            PackStart(barMain, false, false);
            PackStart(tree, true, true);
        }
コード例 #11
0
ファイル: DataExplorer.cs プロジェクト: radtek/datawf
        public DataExplorer()
        {
            contextTools = new Menubar(
                new ToolMenuItem(ToolMainRefreshOnClick)
            {
                Name = "Refresh Tree", GlyphColor = Colors.DarkBlue, Glyph = GlyphType.Refresh
            },
                new ToolMenuItem(ToolDBCheckClick)
            {
                Name = "Check Connection"
            },
                new ToolMenuItem(ToolDBRefreshClick)
            {
                Name = "Refresh Schema Info"
            },
                new ToolMenuItem(ToolDBGenerateClick)
            {
                Name = "Generate Database"
            },
                new ToolSeparator(),
                new ToolMenuItem(ToolDBExportClick)
            {
                Name = "Export"
            },
                new ToolMenuItem(ToolPatchCreateClick)
            {
                Name = "Patch Create"
            },
                new ToolMenuItem(ToolPatchLoadClick)
            {
                Name = "Patch Load"
            },
                new ToolSeparator(),
                new ToolMenuItem(ToolTableRefreshOnClick)
            {
                Name = "Refresh Table Info"
            },
                new ToolMenuItem(ToolTableReportOnClick)
            {
                Name = "Table Report"
            },
                new ToolMenuItem(ToolTableExplorerOnClick)
            {
                Name = "Table Explorer"
            },
                new ToolMenuItem(ToolSequenceRefreshOnClick)
            {
                Name = "Refresh Sequence"
            },
                new ToolSeparator(),
                new ToolMenuItem(ToolExtractDDLClick)
            {
                Name = "Extract DDL"
            },
                new ToolMenuItem(ToolSerializeClick)
            {
                Name = "Serialize"
            },
                new ToolMenuItem(ToolDeserializeClick)
            {
                Name = "Deserialize"
            },
                new ToolMenuItem(ToolLoadFileClick)
            {
                Name = "Load Files"
            })
            {
                Name = "DataExplorer"
            };

            contextAdd = new Menubar(
                new ToolMenuItem(ToolAddConnectionClick)
            {
                Name = "Connection", Glyph = GlyphType.Connectdevelop
            },
                new ToolMenuItem(ToolAddSchemaClick)
            {
                Name = "Schema", Glyph = GlyphType.Database
            },
                new ToolMenuItem(ToolAddTableGroupClick)
            {
                Name = "TableGroup", Glyph = GlyphType.FolderOTable
            },
                new ToolMenuItem(ToolAddTableClick)
            {
                Name = "Table", Glyph = GlyphType.Table
            },
                new ToolMenuItem(ToolAddColumnGroupClick)
            {
                Name = "ColumnGroup", Glyph = GlyphType.FolderOColumn
            },
                new ToolMenuItem(ToolAddColumnClick)
            {
                Name = "Column", Glyph = GlyphType.Columns
            },
                new ToolMenuItem(ToolAddIndexClick)
            {
                Name = "Index", Glyph = GlyphType.Anchor
            },
                new ToolMenuItem(ToolAddConstraintClick)
            {
                Name = "Constraint", Glyph = GlyphType.Check
            },
                new ToolMenuItem(ToolAddForeignClick)
            {
                Name = "Foreign", Glyph = GlyphType.Link
            },
                new ToolMenuItem(ToolAddSequenceClick)
            {
                Name = "Sequence", Glyph = GlyphType.Plus
            },
                new ToolMenuItem(ToolAddProcedureClick)
            {
                Name = "Procedure", Glyph = GlyphType.GearAlias
            },
                new ToolMenuItem(ToolAddProcedureParamClick)
            {
                Name = "Procedure Parameter", Glyph = GlyphType.Columns
            })
            {
                Name = "DBSchema"
            };

            contextMain = new Menubar(
                new ToolMenuItem {
                Name = "Add", GlyphColor = Colors.DarkGreen, DropDown = contextAdd, Glyph = GlyphType.PlusCircle
            },
                new ToolMenuItem(ToolCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            },
                new ToolMenuItem(ToolRemoveClick)
            {
                Name = "Remove", GlyphColor = Colors.DarkRed, Glyph = GlyphType.MinusCircle
            },
                new ToolSeparator(),
                new ToolMenuItem {
                Name = "Tools", DropDown = contextTools, Glyph = GlyphType.Wrench
            },
                new ToolMenuItem(ToolPropertyClick)
            {
                Name = "Properties"
            })
            {
                Name = "Bar"
            };

            barMain = new Toolsbar(
                new ToolDropDown()
            {
                Name = "Add", GlyphColor = Colors.DarkGreen, DropDown = contextAdd, Glyph = GlyphType.PlusCircle
            },
                new ToolItem(ToolRemoveClick)
            {
                Name = "Remove", GlyphColor = Colors.DarkRed, Glyph = GlyphType.MinusCircle
            },
                new ToolItem(ToolCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            },
                new ToolDropDown {
                Name = "Tools", DropDown = contextTools, Glyph = GlyphType.Wrench
            },
                new ToolSearchEntry()
            {
                Name = "FilterText"
            })
            {
                Name = "Bar"
            };

            barChanges = new Toolsbar(
                new ToolItem(ToolChangesCommitClick)
            {
                Name = "Commit", DisplayStyle = ToolItemDisplayStyle.Text
            },
                new ToolItem(ToolChangesSkipClick)
            {
                Name = "Skip", DisplayStyle = ToolItemDisplayStyle.Text
            })
            {
                Name = "Changes"
            };

            changesView = new LayoutList
            {
                Name             = "changesView",
                GenerateColumns  = false,
                AutoToStringFill = true,
                CheckView        = true,
                ListSource       = DBService.Changes
            };
            changesView.ListInfo.ColumnsVisible = false;

            dataTree = new DataTree()
            {
                Name     = "dataTree",
                DataKeys = DataTreeKeys.Schema | DataTreeKeys.TableGroup | DataTreeKeys.Table | DataTreeKeys.LogTable |
                           DataTreeKeys.ColumnGroup | DataTreeKeys.Column |
                           DataTreeKeys.Index | DataTreeKeys.Constraint | DataTreeKeys.Foreign |
                           DataTreeKeys.Procedure | DataTreeKeys.ProcedureParam | DataTreeKeys.Sequence,
                Menu        = contextMain,
                FilterEntry = ((ToolSearchEntry)barMain["FilterText"]).Entry
            };
            dataTree.CellMouseClick   += DataTreeOnNodeMouseClick;
            dataTree.CellDoubleClick  += DataTreeOnDoubleClick;
            dataTree.SelectionChanged += DataTreeOnAfterSelect;

            panel1 = new VBox {
                Name = "Panel1"
            };
            panel1.PackStart(barMain, false, false);
            panel1.PackStart(dataTree, true, true);

            panel2 = new VBox {
                Name = "Panel2"
            };
            panel2.PackStart(barChanges, false, false);
            panel2.PackStart(changesView, true, true);

            container = new VPaned();
            container.Panel1.Content = panel1;

            PackStart(container, true, true);
            Name = "DataExplorer";

            itemWindow.Target             = listExplorer;
            itemWindow.ButtonAcceptClick += AcceptOnActivated;

            DBService.DBSchemaChanged += OnDBSchemaChanged;
        }