//  private List<FGLFoundField> activeFields;

        public UIConstructInTableContext(FGLApplicationPanel f, CONSTRUCT c, FormattedGridView pConstructGrid, List <DataGridViewCell> pRecordFields)
        {
            bool haveAccept    = false;
            bool haveInterrupt = false;

            KeyList = new List <ONKEY_EVENT>();
            KeyList.Clear();
            RecordFields    = pRecordFields;
            afterFieldList  = new List <AFTER_FIELD_EVENT>();
            beforeFieldList = new List <BEFORE_FIELD_EVENT>();
            onActionList    = new List <ON_ACTION_EVENT>();
            setCurrentField = null;
            CurrentField    = null;
            PendingEvents   = new List <string>();
            isBeforeInput   = true;

            // activeFields = f.FindFieldArray(c.FIELDLIST);

            foreach (object evt in c.EVENTS)
            {
                if (evt is ONKEY_EVENT)
                {
                    ONKEY_EVENT e;
                    e = (ONKEY_EVENT)evt;
                    if (e.KEY == "" + FGLUtils.getKeyCodeFromKeyName("ACCEPT"))
                    {
                        haveAccept = true;
                    }
                    if (e.KEY == "" + FGLUtils.getKeyCodeFromKeyName("INTERRUPT"))
                    {
                        haveInterrupt = true;
                    }
                    KeyList.Add(e);
                    continue;
                }

                if (evt is BEFORE_FIELD_EVENT)
                {
                    BEFORE_FIELD_EVENT e;
                    e = (BEFORE_FIELD_EVENT)evt;
                    beforeFieldList.Add(e);
                    continue;
                }

                if (evt is AFTER_FIELD_EVENT)
                {
                    AFTER_FIELD_EVENT e;
                    e = (AFTER_FIELD_EVENT)evt;
                    afterFieldList.Add(e);
                    continue;
                }

                if (evt is ON_ACTION_EVENT)
                {
                    ON_ACTION_EVENT e;
                    e = (ON_ACTION_EVENT)evt;
                    onActionList.Add(e);
                    continue;
                }

                if (evt is AFTER_INPUT_EVENT)
                {
                    afterInput = (AFTER_INPUT_EVENT)evt;
                    continue;
                }
                Program.Show("Unhandled Event for CONSTRUCT");
            }

            if (!haveAccept)
            {
                KeyList.Add(new ONKEY_EVENT("ACCEPT"));
            }
            if (!haveInterrupt)
            {
                KeyList.Add(new ONKEY_EVENT("INTERRUPT"));
            }

            mainWin = f;


            constructGrid = pConstructGrid;

            if (constructGrid == null)
            {
                constructGrid = (FormattedGridView)pRecordFields[0].DataGridView;
            }

            constructGrid.init();
            constructGrid.DataSource = null;
            dt = new DataTable();
            dt.Columns.Add("subscript");


            // Add a column for each column in the grid
            for (int cols = 0; cols < constructGrid.Columns.Count; cols++)
            {
                DataColumn col = new DataColumn("col" + (cols));
                dt.Columns.Add(col);
            }

            constructColumnList = c.COLUMNS;

            constructGrid.allowInsertRow = false;


            DataGridViewRow r;

            string[] data;
            data = new string[constructGrid.Columns.Count];
            r    = new DataGridViewRow();


            for (int colno = 1; colno < constructGrid.Columns.Count; colno++)
            {
                data[colno] = "";
            }
            setActiveFields();
            dt.Rows.Add(data);

            constructGrid.Columns[0].Visible = false;
            constructGrid.DataSource         = dt;
            //   constructGrid.AutoResizeColumnHeadersHeight();
            //   constructGrid.AutoResizeRow(0);

            // for (int colno = 1; colno < constructGrid.Columns.Count; colno++)
            //  {
            //     constructGrid.AutoResizeColumn(colno);
            //  }

            constructGrid.Enabled = false;

            // WEBGUI displayArrayGrid.sizeGrid();
        }
Esempio n. 2
0
        public UIConstructContext(FGLApplicationPanel f, CONSTRUCT c)
        {
            bool haveAccept    = false;
            bool haveInterrupt = false;

            KeyList = new List <ONKEY_EVENT>();
            KeyList.Clear();
            afterFieldList  = new List <AFTER_FIELD_EVENT>();
            beforeFieldList = new List <BEFORE_FIELD_EVENT>();
            onActionList    = new List <ON_ACTION_EVENT>();
            setCurrentField = null;
            CurrentField    = null;
            PendingEvents   = new List <string>();
            isBeforeInput   = true;


            foreach (object evt in c.EVENTS)
            {
                if (evt is ONKEY_EVENT)
                {
                    ONKEY_EVENT e;
                    e = (ONKEY_EVENT)evt;
                    if (e.KEY == "" + FGLUtils.getKeyCodeFromKeyName("ACCEPT"))
                    {
                        haveAccept = true;
                    }
                    if (e.KEY == "" + FGLUtils.getKeyCodeFromKeyName("INTERRUPT"))
                    {
                        haveInterrupt = true;
                    }
                    KeyList.Add(e);
                    continue;
                }

                if (evt is BEFORE_FIELD_EVENT)
                {
                    BEFORE_FIELD_EVENT e;
                    e = (BEFORE_FIELD_EVENT)evt;
                    beforeFieldList.Add(e);
                    continue;
                }

                if (evt is AFTER_FIELD_EVENT)
                {
                    AFTER_FIELD_EVENT e;
                    e = (AFTER_FIELD_EVENT)evt;
                    afterFieldList.Add(e);
                    continue;
                }

                if (evt is ON_ACTION_EVENT)
                {
                    ON_ACTION_EVENT e;
                    e = (ON_ACTION_EVENT)evt;
                    onActionList.Add(e);
                    continue;
                }



                if (evt is AFTER_INPUT_EVENT)
                {
                    //Just ignore it...
                    continue;
                }
                Program.Show("Unhandled Event for CONSTRUCT");
            }

            if (!haveAccept)
            {
                KeyList.Add(new ONKEY_EVENT("ACCEPT"));
            }
            if (!haveInterrupt)
            {
                KeyList.Add(new ONKEY_EVENT("INTERRUPT"));
            }

            mainWin = f;

            activeFields = f.FindFields(c.FIELDLIST);
            if (activeFields.Count != c.COLUMNS.Length)
            {
                Program.Show("Field count mismatch in CONSTRUCT");
                Application.Exit();
                constructColumnList = null;
            }
            else
            {
                constructColumnList = c.COLUMNS;
            }
            foreach (FGLFoundField fld in activeFields)
            {
                fld.fglField.Text = "";
            }
            try
            {
                activeFields[0].fglField.setFocus();
            }
            catch
            {
            }
        }