Esempio n. 1
0
        public GtiForm(String titleMessage, GtiXml gtiXml)
        {
            Width = 600;
            if (String.IsNullOrEmpty(titleMessage))
            {
                Text = "GTI GUI";
            }
            else
            {
                Text = "GTI GUI - " + titleMessage;
            }

            Padding = new Padding(3);

            splitContainer      = new SplitContainer();
            splitContainer.Dock = DockStyle.Fill;
            Controls.Add(splitContainer);

            {
                DataGridView taskAppsGrid = CreateTaskAppGrid(gtiXml, out taskAppsByRow);
                taskAppsGrid.Dock            = DockStyle.Fill;
                taskAppsGrid.BackgroundColor = Color.White;
                taskAppsGrid.CellClick      += TaskAppPanelClicked;

                taskAppGridPreferredWidth = 3 + taskAppsGrid.Columns[0].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true) +
                                            taskAppsGrid.Columns[1].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);
                splitContainer.SplitterDistance = taskAppGridPreferredWidth;

                splitContainer.Panel1.Controls.Add(taskAppsGrid);
                splitContainer.Panel1.BackColor = Color.White;
                splitContainer.FixedPanel       = FixedPanel.Panel1;
            }

            Width = taskAppGridPreferredWidth + 500;
        }
Esempio n. 2
0
        DataGridView CreateTaskAppGrid(GtiXml gtiXml, out IList <TaskAppImplementationGui> taskAppsByRow)
        {
            DataGridView dataGridView = new DataGridView();

            dataGridView.ColumnCount                 = 2;
            dataGridView.ReadOnly                    = true;
            dataGridView.AllowUserToAddRows          = false;
            dataGridView.RowHeadersVisible           = false;
            dataGridView.SelectionMode               = DataGridViewSelectionMode.FullRowSelect;
            dataGridView.MultiSelect                 = false;
            dataGridView.AutoSizeRowsMode            = DataGridViewAutoSizeRowsMode.None;
            dataGridView.AllowUserToResizeRows       = false;
            dataGridView.AllowUserToResizeColumns    = true;
            dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

            dataGridView.Columns[0].Name         = "Task";
            dataGridView.Columns[1].Name         = "App";
            dataGridView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            dataGridView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

            taskAppsByRow = new List <TaskAppImplementationGui>();

            foreach (var task in gtiXml.Tasks.SafeEnumerable())
            {
                TaskGui taskGui = new TaskGui(task);
                Int32   appImplementationCount = 0;
                foreach (var app in gtiXml.ConsoleApplications.SafeEnumerable())
                {
                    foreach (var impl in app.TaskImplementations)
                    {
                        if (impl.TaskName.Equals(task.Name, StringComparison.OrdinalIgnoreCase))
                        {
                            dataGridView.Rows.Add(new String[] { task.Name, app.Name });
                            taskAppsByRow.Add(new ConsoleTaskImplementationGui(this, taskGui, app, impl));
                            appImplementationCount++;
                        }
                    }
                }
                if (appImplementationCount == 0)
                {
                    dataGridView.Rows.Add(new String[] { task.Name, "<no-app>" });
                    taskAppsByRow.Add(new NoAppTaskImplementationGui(this, taskGui));
                }
            }
            return(dataGridView);
        }
        static Int32 Main(string[] args)
        {
            try
            {
                if (args.Length == 0)
                {
                    Usage();
                    return(0);
                }

                List <String> nonOptionArgs = ParseCommandLine(args);
                if (nonOptionArgs.Count <= 0)
                {
                    Console.WriteLine("Error: not enough command line arguments");
                    return(1);
                }
                String gtiFilename = nonOptionArgs[0];

                GtiXml gtiXml;
                {
                    var serializer = GtiXml.CreateSerializer();
                    using (XmlReader xmlReader = XmlReader.Create(new FileStream(gtiFilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
                    {
                        gtiXml = (GtiXml)serializer.Deserialize(xmlReader, GtiXml.SerializerEvents);
                    }
                }
                gtiXml.FinalizeDeserialization();



                GtiForm.Start(gtiFilename, gtiXml);
                return(0);
            }
            catch (ErrorMessageException e)
            {
                Console.WriteLine(e.Message);
                return(1);
            }
        }
Esempio n. 4
0
 public static void Start(String titleMessage, GtiXml gtiXml)
 {
     Application.EnableVisualStyles();
     Application.Run(new GtiForm(titleMessage, gtiXml));
 }