/// <summary>
        /// Prompts the user to specified values to replace.
        /// </summary>
        public bool ShowDialog(TsCHdaServer server, OpcItem item, bool synchronous)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }

            m_server      = server;
            m_synchronous = synchronous;
            m_item        = item;
            m_values      = null;
            m_results     = null;

            // create new trend.
            m_trend = new TsCHdaTrend(m_server);

            // set reasonable defaults.
            m_trend.StartTime = new TsCHdaTime("YEAR");
            m_trend.EndTime   = new TsCHdaTime("YEAR+1H");

            BrowseCTRL.Browse(m_server, null);
            TrendCTRL.Initialize(m_trend, RequestType.ReadRaw);
            ValuesCTRL.Initialize(m_server, null);
            AsyncResultsCTRL.Initialize(m_server, null);
            ResultsCTRL.Initialize(m_server, null);

            // update dialog state.
            SetState();

            // show dialog.
            bool result = (ShowDialog() == DialogResult.OK);

            // release item handles.
            m_trend.ClearItems();

            // return item values.
            return(result);
        }
示例#2
0
        /// <summary>
        /// Called to disconnect from a server.
        /// </summary>
        public void OnDisconnect()
        {
            // disconnect server.
            if (m_server != null)
            {
                try       { m_server.Disconnect(); }
                catch {}

                m_server.Dispose();
                m_server = null;
            }

            // clear cache.
            m_cache = new Hashtable();

            // initialize controls.
            StatusCTRL.Start(null);
            TrendsCTRL.Initialize(null);
            ValuesCTRL.Initialize(null, null);
            OutputCTRL.Text = "";
        }