コード例 #1
0
ファイル: MainWindow.cs プロジェクト: nicklinesla/4.21-arcore
        public void SetTabNames(TabLabels NewTabNames)
        {
            if (Settings.TabLabels != NewTabNames)
            {
                Settings.TabLabels = NewTabNames;
                Settings.Save();

                for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++)
                {
                    WorkspaceControl Workspace = (WorkspaceControl)TabControl.GetTabData(Idx);
                    TabControl.SetTabName(Idx, GetTabName(Workspace));
                }
            }
        }
コード例 #2
0
        public UserSettings(string InFileName)
        {
            FileName = InFileName;
            if (File.Exists(FileName))
            {
                ConfigFile.Load(FileName);
            }

            // General settings
            Version                = (UserSettingsVersion)ConfigFile.GetValue("General.Version", (int)UserSettingsVersion.Initial);
            bBuildAfterSync        = (ConfigFile.GetValue("General.BuildAfterSync", "1") != "0");
            bRunAfterSync          = (ConfigFile.GetValue("General.RunAfterSync", "1") != "0");
            bSyncPrecompiledEditor = (ConfigFile.GetValue("General.SyncPrecompiledEditor", "0") != "0");
            bOpenSolutionAfterSync = (ConfigFile.GetValue("General.OpenSolutionAfterSync", "0") != "0");
            bShowLogWindow         = (ConfigFile.GetValue("General.ShowLogWindow", false));
            bAutoResolveConflicts  = (ConfigFile.GetValue("General.AutoResolveConflicts", "1") != "0");
            bUseIncrementalBuilds  = ConfigFile.GetValue("General.IncrementalBuilds", true);
            bShowUnreviewedChanges = ConfigFile.GetValue("General.ShowUnreviewed", true);
            bShowAutomatedChanges  = ConfigFile.GetValue("General.ShowAutomated", false);
            bShowLocalTimes        = ConfigFile.GetValue("General.ShowLocalTimes", false);
            bKeepInTray            = ConfigFile.GetValue("General.KeepInTray", true);
            int.TryParse(ConfigFile.GetValue("General.FilterIndex", "0"), out FilterIndex);

            string LastProjectString = ConfigFile.GetValue("General.LastProject", null);

            if (LastProjectString != null)
            {
                UserSelectedProjectSettings.TryParseConfigEntry(LastProjectString, out LastProject);
            }
            else
            {
                string LastProjectFileName = ConfigFile.GetValue("General.LastProjectFileName", null);
                if (LastProjectFileName != null)
                {
                    LastProject = new UserSelectedProjectSettings(null, null, UserSelectedProjectType.Local, null, LastProjectFileName);
                }
            }

            OpenProjects   = ReadProjectList("General.OpenProjects", "General.OpenProjectFileNames");
            RecentProjects = ReadProjectList("General.RecentProjects", "General.OtherProjectFileNames");

            SyncView = ConfigFile.GetValues("General.SyncFilter", new string[0]);
            SyncExcludedCategories        = ConfigFile.GetGuidValues("General.SyncExcludedCategories", new Guid[0]);
            bSyncAllProjects              = ConfigFile.GetValue("General.SyncAllProjects", false);
            bIncludeAllProjectsInSolution = ConfigFile.GetValue("General.IncludeAllProjectsInSolution", false);
            if (!Enum.TryParse(ConfigFile.GetValue("General.SyncType", ""), out SyncType))
            {
                SyncType = LatestChangeType.Good;
            }

            // Build configuration
            string CompiledEditorBuildConfigName = ConfigFile.GetValue("General.BuildConfig", "");

            if (!Enum.TryParse(CompiledEditorBuildConfigName, true, out CompiledEditorBuildConfig))
            {
                CompiledEditorBuildConfig = BuildConfig.DebugGame;
            }

            // Tab names
            string TabLabelsValue = ConfigFile.GetValue("General.TabLabels", "");

            if (!Enum.TryParse(TabLabelsValue, true, out TabLabels))
            {
                TabLabels = TabLabels.Stream;
            }

            // Editor arguments
            string[] Arguments = ConfigFile.GetValues("General.EditorArguments", new string[] { "0:-log", "0:-fastload" });
            foreach (string Argument in Arguments)
            {
                if (Argument.StartsWith("0:"))
                {
                    EditorArguments.Add(new Tuple <string, bool>(Argument.Substring(2), false));
                }
                else if (Argument.StartsWith("1:"))
                {
                    EditorArguments.Add(new Tuple <string, bool>(Argument.Substring(2), true));
                }
                else
                {
                    EditorArguments.Add(new Tuple <string, bool>(Argument, true));
                }
            }
            bEditorArgumentsPrompt = ConfigFile.GetValue("General.EditorArgumentsPrompt", false);

            // Window settings
            bWindowVisible = ConfigFile.GetValue("Window.Visible", true);
            if (!Enum.TryParse(ConfigFile.GetValue("Window.State", ""), true, out WindowState))
            {
                WindowState = FormWindowState.Normal;
            }
            WindowBounds = ParseRectangleValue(ConfigFile.GetValue("Window.Bounds", ""));

            // Schedule settings
            bScheduleEnabled = ConfigFile.GetValue("Schedule.Enabled", false);
            if (!TimeSpan.TryParse(ConfigFile.GetValue("Schedule.Time", ""), out ScheduleTime))
            {
                ScheduleTime = new TimeSpan(6, 0, 0);
            }
            if (!Enum.TryParse(ConfigFile.GetValue("Schedule.Change", ""), out ScheduleChange))
            {
                ScheduleChange = LatestChangeType.Good;
            }
            ScheduleAnyOpenProject = ConfigFile.GetValue("Schedule.AnyOpenProject", true);
            ScheduleProjects       = ReadProjectList("Schedule.Projects", "Schedule.ProjectFileNames");

            // Notification settings
            NotifyUnassignedMinutes     = ConfigFile.GetValue("Notifications.NotifyUnassignedMinutes", -1);
            NotifyUnacknowledgedMinutes = ConfigFile.GetValue("Notifications.NotifyUnacknowledgedMinutes", -1);
            NotifyUnresolvedMinutes     = ConfigFile.GetValue("Notifications.NotifyUnresolvedMinutes", -1);

            // Perforce settings
            if (!int.TryParse(ConfigFile.GetValue("Perforce.NumRetries", "0"), out SyncOptions.NumRetries))
            {
                SyncOptions.NumRetries = 0;
            }
            if (!int.TryParse(ConfigFile.GetValue("Perforce.NumThreads", "0"), out SyncOptions.NumThreads))
            {
                SyncOptions.NumThreads = 0;
            }
            if (!int.TryParse(ConfigFile.GetValue("Perforce.TcpBufferSize", "0"), out SyncOptions.TcpBufferSize))
            {
                SyncOptions.TcpBufferSize = 0;
            }
        }
コード例 #3
0
        public UserSettings(string InFileName)
        {
            FileName = InFileName;
            if (File.Exists(FileName))
            {
                ConfigFile.Load(FileName);
            }

            // General settings
            bBuildAfterSync        = (ConfigFile.GetValue("General.BuildAfterSync", "1") != "0");
            bRunAfterSync          = (ConfigFile.GetValue("General.RunAfterSync", "1") != "0");
            bSyncPrecompiledEditor = (ConfigFile.GetValue("General.SyncPrecompiledEditor", "0") != "0");
            bOpenSolutionAfterSync = (ConfigFile.GetValue("General.OpenSolutionAfterSync", "0") != "0");
            bShowLogWindow         = (ConfigFile.GetValue("General.ShowLogWindow", false));
            bAutoResolveConflicts  = (ConfigFile.GetValue("General.AutoResolveConflicts", "1") != "0");
            bUseIncrementalBuilds  = ConfigFile.GetValue("General.IncrementalBuilds", true);
            bShowLocalTimes        = ConfigFile.GetValue("General.ShowLocalTimes", false);
            bShowAllStreams        = ConfigFile.GetValue("General.ShowAllStreams", false);
            bKeepInTray            = ConfigFile.GetValue("General.KeepInTray", true);
            int.TryParse(ConfigFile.GetValue("General.FilterIndex", "0"), out FilterIndex);
            LastProjectFileName = ConfigFile.GetValue("General.LastProjectFileName", null);

            OpenProjectFileNames = ConfigFile.GetValues("General.OpenProjectFileNames", new string[0]);
            if (LastProjectFileName != null && !OpenProjectFileNames.Any(x => x.Equals(LastProjectFileName, StringComparison.InvariantCultureIgnoreCase)))
            {
                OpenProjectFileNames = OpenProjectFileNames.Concat(new string[] { LastProjectFileName }).ToArray();
            }

            OtherProjectFileNames = ConfigFile.GetValues("General.OtherProjectFileNames", new string[0]);
            SyncView = ConfigFile.GetValues("General.SyncFilter", new string[0]);
            SyncExcludedCategories = ConfigFile.GetGuidValues("General.SyncExcludedCategories", new Guid[0]);
            if (!Enum.TryParse(ConfigFile.GetValue("General.SyncType", ""), out SyncType))
            {
                SyncType = LatestChangeType.Good;
            }

            // Build configuration
            string CompiledEditorBuildConfigName = ConfigFile.GetValue("General.BuildConfig", "");

            if (!Enum.TryParse(CompiledEditorBuildConfigName, true, out CompiledEditorBuildConfig))
            {
                CompiledEditorBuildConfig = BuildConfig.DebugGame;
            }

            // Tab names
            string TabNamesValue = ConfigFile.GetValue("General.TabNames", "");

            if (!Enum.TryParse(TabNamesValue, true, out TabLabels))
            {
                TabLabels = TabLabels.ProjectFile;
            }

            // Editor arguments
            string[] Arguments = ConfigFile.GetValues("General.EditorArguments", new string[] { "0:-log", "0:-fastload" });
            foreach (string Argument in Arguments)
            {
                if (Argument.StartsWith("0:"))
                {
                    EditorArguments.Add(new Tuple <string, bool>(Argument.Substring(2), false));
                }
                else if (Argument.StartsWith("1:"))
                {
                    EditorArguments.Add(new Tuple <string, bool>(Argument.Substring(2), true));
                }
                else
                {
                    EditorArguments.Add(new Tuple <string, bool>(Argument, true));
                }
            }

            // Window settings
            ConfigSection WindowSection = ConfigFile.FindSection("Window");

            if (WindowSection != null)
            {
                bHasWindowSettings = true;

                int X      = WindowSection.GetValue("X", -1);
                int Y      = WindowSection.GetValue("Y", -1);
                int Width  = WindowSection.GetValue("Width", -1);
                int Height = WindowSection.GetValue("Height", -1);
                WindowRectangle = new Rectangle(X, Y, Width, Height);

                ConfigObject ColumnWidthObject = new ConfigObject(WindowSection.GetValue("ColumnWidths", ""));
                foreach (KeyValuePair <string, string> ColumnWidthPair in ColumnWidthObject.Pairs)
                {
                    int Value;
                    if (int.TryParse(ColumnWidthPair.Value, out Value))
                    {
                        ColumnWidths[ColumnWidthPair.Key] = Value;
                    }
                }

                bWindowVisible = WindowSection.GetValue("Visible", true);
            }

            // Schedule settings
            bScheduleEnabled = ConfigFile.GetValue("Schedule.Enabled", false);
            if (!TimeSpan.TryParse(ConfigFile.GetValue("Schedule.Time", ""), out ScheduleTime))
            {
                ScheduleTime = new TimeSpan(6, 0, 0);
            }
            if (!Enum.TryParse(ConfigFile.GetValue("Schedule.Change", ""), out ScheduleChange))
            {
                ScheduleChange = LatestChangeType.Good;
            }

            // Perforce settings
            if (!int.TryParse(ConfigFile.GetValue("Perforce.NumRetries", "0"), out SyncOptions.NumRetries))
            {
                SyncOptions.NumRetries = 0;
            }
            if (!int.TryParse(ConfigFile.GetValue("Perforce.NumThreads", "0"), out SyncOptions.NumThreads))
            {
                SyncOptions.NumThreads = 0;
            }
            if (!int.TryParse(ConfigFile.GetValue("Perforce.TcpBufferSize", "0"), out SyncOptions.TcpBufferSize))
            {
                SyncOptions.TcpBufferSize = 0;
            }
        }
コード例 #4
0
        void DoFormCreate()
        {
            AxForm newForm = _axHelper.MetadataProvider.Forms.Read(FormName);

            if (newForm != null)
            {
                throw new Exception($"Form {FormName} already exists");
            }

            newForm = new AxForm {
                Name = FormName
            };

            AxMethod axMethod = new AxMethod();

            axMethod.Name   = "classDeclaration";
            axMethod.Source = $"[Form]{Environment.NewLine}public class {newForm.Name} extends FormRun " +
                              Environment.NewLine + "{" + Environment.NewLine + "}";
            newForm.AddMethod(axMethod);

            string dsName = TableName;

            AxFormDataSourceRoot axFormDataSource = new AxFormDataSourceRoot();

            axFormDataSource.Name          = dsName;
            axFormDataSource.Table         = TableName;
            axFormDataSource.InsertIfEmpty = NoYes.No;
            newForm.AddDataSource(axFormDataSource);
            newForm.Design.Caption         = FormLabel;
            newForm.Design.TitleDataSource = dsName;
            newForm.Design.DataSource      = dsName;

            AxFormGroupControl             filterGrp, detailsHeaderGroup;
            AxFormGridControl              axFormGridControl;
            AxFormControlExtension         quickFilterControl;
            AxFormControlExtensionProperty formControlExtensionProperty;
            AxFormGroupControl             overviewGroupControl;
            AxFormTabControl formTabControl;

            switch (TemplateType)
            {
            case FormTemplateType.SimpleList:
                newForm.Design.AddControl(new AxFormActionPaneControl {
                    Name = "MainActionPane"
                });

                filterGrp = new AxFormGroupControl {
                    Name = "FilterGroup", Pattern = "CustomAndQuickFilters", PatternVersion = "1.1"
                };

                quickFilterControl = new AxFormControlExtension {
                    Name = "QuickFilterControl"
                };
                formControlExtensionProperty = new AxFormControlExtensionProperty();

                formControlExtensionProperty.Name  = "targetControlName";
                formControlExtensionProperty.Type  = CompilerBaseType.String;
                formControlExtensionProperty.Value = "MainGrid";
                quickFilterControl.ExtensionProperties.Add(formControlExtensionProperty);

                filterGrp.AddControl(new AxFormControl {
                    Name = "QuickFilter", FormControlExtension = quickFilterControl
                });
                newForm.Design.AddControl(filterGrp);
                axFormGridControl = new AxFormGridControl {
                    Name = "MainGrid", DataSource = dsName
                };

                overviewGroupControl = new AxFormGroupControl
                {
                    Name       = GroupNameGrid,
                    DataGroup  = GroupNameGrid,
                    DataSource = dsName
                };
                axFormGridControl.AddControl(overviewGroupControl);
                newForm.Design.AddControl(axFormGridControl);
                break;

            case FormTemplateType.SimpleListDetails:
                newForm.Design.AddControl(new AxFormActionPaneControl {
                    Name = "MainActionPane"
                });
                filterGrp = new AxFormGroupControl {
                    Name = "NavigationListGroup"
                };

                quickFilterControl = new AxFormControlExtension {
                    Name = "QuickFilterControl"
                };
                formControlExtensionProperty       = new AxFormControlExtensionProperty();
                formControlExtensionProperty.Name  = "targetControlName";
                formControlExtensionProperty.Type  = CompilerBaseType.String;
                formControlExtensionProperty.Value = "MainGrid";
                quickFilterControl.ExtensionProperties.Add(formControlExtensionProperty);

                filterGrp.AddControl(new AxFormControl {
                    Name = "NavListQuickFilter", FormControlExtension = quickFilterControl
                });
                axFormGridControl = new AxFormGridControl {
                    Name = "MainGrid", DataSource = dsName
                };

                if (!string.IsNullOrWhiteSpace(GroupNameGrid))
                {
                    overviewGroupControl = new AxFormGroupControl
                    {
                        Name       = GroupNameGrid,
                        DataGroup  = GroupNameGrid,
                        DataSource = dsName
                    };
                    axFormGridControl.AddControl(overviewGroupControl);
                }

                filterGrp.AddControl(axFormGridControl);
                newForm.Design.AddControl(filterGrp);

                detailsHeaderGroup = new AxFormGroupControl {
                    Name = "DetailsHeaderGroup"
                };
                detailsHeaderGroup.DataSource = dsName;
                detailsHeaderGroup.DataGroup  = GroupNameHeader;

                newForm.Design.AddControl(detailsHeaderGroup);

                formTabControl = new AxFormTabControl {
                    Name = "DetailsTab"
                };

                List <string> listImp = new List <string>(
                    TabLabels.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries));
                foreach (string lineImp in listImp)
                {
                    string tabName = AxHelper.GetTypeNameFromLabel(lineImp) + "TabPage";
                    formTabControl.AddControl(new AxFormTabPageControl {
                        Name = tabName, Caption = lineImp, DataSource = dsName
                    });
                }

                newForm.Design.AddControl(formTabControl);

                break;
            }

            _axHelper.MetaModelService.CreateForm(newForm, _axHelper.ModelSaveInfo);
            _axHelper.AppendToActiveProject(newForm);

            AddLog($"Form: {newForm.Name} - Restore it before use;");
        }