/// <summary>
        /// Initialize setting. Only call after Repository is known.
        /// <para/>- Tag (
        /// <para/>- Model
        /// <para/>- Settings
        /// updated
        /// </summary>
        /// <returns></returns>
        bool InitializeSettings()
        {
            // default
            _addinType    = AddinType.Sql;
            _addinTabName = TabulatorSql;
            if ((string)Tag != TabulatorSql)
            {
                _addinType    = AddinType.Script;
                _addinTabName = TabulatorScript;
            }
            // set title
            lblTitle.Text = _addinTabName;

            // Tab Pages for *.sql queries update
            // Make sure the Container is initialized
            if (components == null)
            {
                components = new System.ComponentModel.Container();
            }
            // the sql tabulators might already be available
            if (_sqlTabCntrls == null)
            {
                _sqlTabCntrls = new SqlTabPagesCntrl(Model, AddinSettings, components, tabControlSql, txtSearchTerm,
                                                     _newTabFromRecentToolStripMenuItem,
                                                     _loadTabFromRecentToolStripMenuItem, _addinTabName);
            }

            if (tabControlSql.TabPages.Count == 0)
            {
                // first tab with Element Template
                _sqlTabCntrls.AddTab(SqlTemplates.GetTemplateText(SqlTemplates.SqlTemplateId.ElementTemplate));
            }


            // run for SQL / Query
            if (_addinType == AddinType.Sql)
            {
                // don't show Script container
                splitContainer.Panel2Collapsed = true;
                // don't show Menu item LoadScripts
                //loadStandardScriptsToolStripMenuItem.Visible = false;
            }
            else // run for Script (includes SQL / Query)
            {
                float distance = splitContainer.Height * (float)0.5;
                try
                {
                    splitContainer.SplitterDistance = (int)distance;
                }
                catch // suppress any error, use default SplitterDistance
                { }
                // available script updates
                ReloadScripts();
            }

            return(true);
        }
Example #2
0
        /// <summary>
        /// Constructor. If the file is persistent then register a Watcher
        /// <para/>- Initialize file system watcher
        /// </summary>
        /// <param name="fullName"></param>
        /// <param name="isChanged">Default=true</param>
        /// <param name="sqlTabPagesCntrl"></param>
        public SqlFile(SqlTabPagesCntrl sqlTabPagesCntrl, string fullName, bool isChanged = true)
        {
            _sqlTabPagesCntrl = sqlTabPagesCntrl;
            InitTabPageCaption(fullName, isChanged);
            ReadTime = DateTime.Now;

            // create FileMonitor
            _fileMonitor         = new FileMonitor(_fullName);
            _fileMonitor.Change += OnChanged;
            if (IsPersistant)
            {
                _fileMonitor.Start();
            }
        }