示例#1
0
        private void m_PopulateDgv(ToolStripButton v_tsb)
        {
            v_dgv.SelectionChanged -= m_Dgv_SelectionChanged;

            // name column headers
            if (v_tsb == v_btnLeader)
            {
                v_tab            = v_Tab.v_Leader;
                v_dgv.DataSource = v_LeaderList;
                v_colPadding     = new[] { 10, 5, 5, 0 };
                v_btnToggleHighlightFixedFields.Enabled = true;
                v_btnToggleHighlightMediaFields.Enabled = false;
                m_IndicateFixedFields();
            }
            else if (v_tsb == v_btnDirectory)
            {
                v_tab            = v_Tab.v_Directory;
                v_dgv.DataSource = v_DirectoryList;
                v_colPadding     = new[] { 10, 5, 5, 0 };
                v_btnToggleHighlightFixedFields.Enabled = false;
                v_btnToggleHighlightMediaFields.Enabled = false;
            }
            else if (v_tsb == v_btnControl)
            {
                v_tab            = v_Tab.v_Control;
                v_dgv.DataSource = v_ControlList;
                v_colPadding     = new[] { -35, 5, 5, 0 };
                v_btnToggleHighlightFixedFields.Enabled = true;
                v_btnToggleHighlightMediaFields.Enabled = true;
                m_IndicateFixedFields();
                m_IndicateMediaFields();
            }
            else if (v_tsb == v_btnVardata)
            {
                v_tab            = v_Tab.v_Vardata;
                v_dgv.DataSource = v_VardataList;
                v_colPadding     = new[] { -15, -20, -20, 0 };
                v_btnToggleHighlightFixedFields.Enabled            = false;
                v_btnToggleHighlightMediaFields.Enabled            = false;
                v_dgv.Columns["v_Value"].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
            }
            else
            {
                throw new Exception("Unknown tab selection");
            }

            // set column defaults:
            foreach (DataGridViewColumn v_col in v_dgv.Columns)
            {
                v_col.SortMode = DataGridViewColumnSortMode.NotSortable;
            }

            // row stuff
            for (var v_i = 0; v_i < v_dgv.Rows.Count; v_i++)
            {
                // set row height:
                v_dgv.Rows[v_i].MinimumHeight = 30;
            }

            // tooltip for blank symbol:
            m_IndicateBlankSymbol();

            // handle column widths and horiz scrollbar:
            m_Dgv_Resize(null, null);

            // set selected tab backcolor:
            v_btnLeader.ForeColor    = Color.FromArgb(220, 220, 220);
            v_btnDirectory.ForeColor = Color.FromArgb(220, 220, 220);
            v_btnControl.ForeColor   = Color.FromArgb(220, 220, 220);
            v_btnVardata.ForeColor   = Color.FromArgb(220, 220, 220);
            v_tsb.ForeColor          = v_tabHighlightColor;

            v_dgv.ClearSelection();

            v_dgv.SelectionChanged += m_Dgv_SelectionChanged;
        }
示例#2
0
        private int m_DisplayMrcData_(string v_mrcOpenFilePath)
        {
            // clear any existing row data:
            v_PropertyList.Clear();
            v_LeaderList.Clear();
            v_DirectoryList.Clear();
            v_ControlList.Clear();
            v_VardataList.Clear();
            v_dgv.Rows.Clear();

            // call engine to generate dat file from the mrc file:
            var lib        = new viewmarc_lib.c_Engine();
            var v_exitCode = lib.RunMrcToDat(v_mrcOpenFilePath, out string[] v_lines);

            if (v_exitCode != 0)
            {
                return(v_exitCode);
            }

            foreach (var v_line in v_lines)
            {
                if (v_line.StartsWith("PRP"))
                {
                    v_PropertyList.Add(new c_PropertyItem(v_line.Substring(4).Split('\u23F5')));
                }
                if (v_line.StartsWith("LDR"))
                {
                    v_LeaderList.Add(new c_LeaderItem(v_line.Substring(4).Split('\u23F5')));
                }
                if (v_line.StartsWith("DIR"))
                {
                    v_DirectoryList.Add(new c_DirectoryItem(v_line.Substring(4).Split('\u23F5')));
                }
                if (v_line.StartsWith("CTR"))
                {
                    v_ControlList.Add(new c_ControlItem(v_line.Substring(4).Split('\u23F5')));
                }
                if (v_line.StartsWith("VAR"))
                {
                    v_VardataList.Add(new c_VardataItem(v_line.Substring(4).Split('\u23F5')));
                }
            }

            // populate datagridview with default view:
            v_btnLeader.Enabled    = true;
            v_btnDirectory.Enabled = true;
            v_btnControl.Enabled   = true;
            v_btnVardata.Enabled   = true;

            if (v_tab == v_Tab.v_NotSet)
            {
                v_tab = v_Tab.v_Vardata;
            }

            if (v_tab == v_Tab.v_Leader)
            {
                v_btnLeader.PerformClick();
            }
            if (v_tab == v_Tab.v_Directory)
            {
                v_btnDirectory.PerformClick();
            }
            if (v_tab == v_Tab.v_Control)
            {
                v_btnControl.PerformClick();
            }
            if (v_tab == v_Tab.v_Vardata)
            {
                v_btnVardata.PerformClick();
            }

            // update form title:
            m_SetTitle(v_mrcOpenFilePath);

            return(0);
        }