/// <summary>
        /// Initializes the control with the time object.
        /// </summary>
        public void Set(TsCHdaTime value)
        {
            if (value == null)
            {
                TimeTypeCB.SelectedIndex = 1;
                AbsoluteTimeCTRL.Value   = AbsoluteTimeCTRL.MinDate;
                TimeTypeCB.SelectedItem  = TsCHdaRelativeTime.Now;
                OffsetTB.Text            = "";
            }

            else if (value.IsRelative)
            {
                TimeTypeCB.SelectedIndex = 1;
                AbsoluteTimeCTRL.Value   = AbsoluteTimeCTRL.MinDate;
                TimeTypeCB.SelectedItem  = value.BaseTime;
                OffsetTB.Text            = value.Offsets.ToString();
            }

            else
            {
                TimeTypeCB.SelectedIndex = 0;
                AbsoluteTimeCTRL.Value   = (value.AbsoluteTime < AbsoluteTimeCTRL.MinDate)?AbsoluteTimeCTRL.MinDate:value.AbsoluteTime;
                TimeTypeCB.SelectedItem  = Absolute;
                OffsetTB.Text            = "";
            }
        }
Пример #2
0
        /// <summary>
        /// Initializes the control with the time object.
        /// </summary>
        public void Set(TsCHdaTime value)
        {
            if (value == null)
            {
                timeTypeCb_.SelectedIndex = 1;
                absoluteTimeCtrl_.Value   = absoluteTimeCtrl_.MinDate;
                timeTypeCb_.SelectedItem  = TsCHdaRelativeTime.Now;
                offsetTb_.Text            = "";
            }

            else if (value.IsRelative)
            {
                timeTypeCb_.SelectedIndex = 1;
                absoluteTimeCtrl_.Value   = absoluteTimeCtrl_.MinDate;
                timeTypeCb_.SelectedItem  = value.BaseTime;
                offsetTb_.Text            = value.Offsets.ToString();
            }

            else
            {
                timeTypeCb_.SelectedIndex = 0;
                absoluteTimeCtrl_.Value   = (value.AbsoluteTime < absoluteTimeCtrl_.MinDate)?absoluteTimeCtrl_.MinDate:value.AbsoluteTime;
                timeTypeCb_.SelectedItem  = Absolute;
                offsetTb_.Text            = "";
            }
        }
Пример #3
0
        /// <summary>
        /// Prompts the user to select attributes to read for an item.
        /// </summary>
        public TsCHdaItemAttributeCollection ShowDialog(
            TsCHdaServer server,
            OpcItem item,
            TsCHdaTime startTime,
            TsCHdaTime endTime,
            bool synchronous)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }

            m_server      = server;
            m_item        = item;
            m_fixedItem   = item != null;
            m_synchronous = synchronous;
            m_results     = null;

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

            // set reasonable defaults.
            m_trend.StartTime = startTime;
            m_trend.EndTime   = endTime;

            BrowseCTRL.Browse(m_server, null);
            TrendCTRL.Initialize(m_trend, RequestType.ReadAttributes);
            AttributesCTRL.Initialize(m_server, null);
            ResultsCTRL.Initialize(m_server, m_results);
            AsyncResultsCTRL.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)?m_results:null);
        }
        /// <summary>
        /// Prompts the user to select attributes to read for an item.
        /// </summary>
        public TsCHdaItemAttributeCollection ShowDialog(
            TsCHdaServer server,
            OpcItem item,
            TsCHdaTime startTime,
            TsCHdaTime endTime,
            bool synchronous)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }

            mServer_      = server;
            mItem_        = item;
            mFixedItem_   = item != null;
            mSynchronous_ = synchronous;
            mResults_     = null;

            // create new trend.
            mTrend_ = new TsCHdaTrend(mServer_);

            // set reasonable defaults.
            mTrend_.StartTime = startTime;
            mTrend_.EndTime   = endTime;

            browseCtrl_.Browse(mServer_, null);
            trendCtrl_.Initialize(mTrend_, RequestType.ReadAttributes);
            attributesCtrl_.Initialize(mServer_, null);
            resultsCtrl_.Initialize(mServer_, mResults_);
            asyncResultsCtrl_.Initialize(mServer_, null);

            // update dialog state.
            SetState();

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

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

            // return item values.
            return((result)?mResults_:null);
        }
Пример #5
0
        /// <summary>
        /// Converts a Technosoftware.DaAeHdaClient.Time object to a Technosoftware.DaAeHdaClient.Com.Hda.OPCHDA_TIME structure.
        /// </summary>
        internal static OpcRcw.Hda.OPCHDA_TIME GetTime(TsCHdaTime input)
        {
            OpcRcw.Hda.OPCHDA_TIME output = new OpcRcw.Hda.OPCHDA_TIME();

            if (input != null)
            {
                output.ftTime  = Convert(Technosoftware.DaAeHdaClient.Com.Interop.GetFILETIME(input.AbsoluteTime));
                output.szTime  = (input.IsRelative)?input.ToString():"";
                output.bString = (input.IsRelative)?1:0;
            }

            // create a null value for a time structure.
            else
            {
                output.ftTime  = Convert(Technosoftware.DaAeHdaClient.Com.Interop.GetFILETIME(DateTime.MinValue));
                output.szTime  = "";
                output.bString = 1;
            }

            return(output);
        }
Пример #6
0
        /// <summary>
        /// Creates a Time object from the current contents of the controls.
        /// </summary>
        public TsCHdaTime Get()
        {
            TsCHdaTime time = new TsCHdaTime();

            if (timeTypeCb_.SelectedItem == (object)Absolute)
            {
                if (absoluteTimeCtrl_.Value > absoluteTimeCtrl_.MinDate)
                {
                    time.AbsoluteTime = absoluteTimeCtrl_.Value;
                }
                else
                {
                    time.AbsoluteTime = DateTime.MinValue;
                }
            }
            else
            {
                time.BaseTime = (TsCHdaRelativeTime)timeTypeCb_.SelectedItem;
                time.Offsets.Parse(offsetTb_.Text);
            }

            return(time);
        }
        /// <summary>
        /// Creates a Time object from the current contents of the controls.
        /// </summary>
        public TsCHdaTime Get()
        {
            TsCHdaTime time = new TsCHdaTime();

            if (TimeTypeCB.SelectedItem == (object)Absolute)
            {
                if (AbsoluteTimeCTRL.Value > AbsoluteTimeCTRL.MinDate)
                {
                    time.AbsoluteTime = AbsoluteTimeCTRL.Value;
                }
                else
                {
                    time.AbsoluteTime = DateTime.MinValue;
                }
            }
            else
            {
                time.BaseTime = (TsCHdaRelativeTime)TimeTypeCB.SelectedItem;
                time.Offsets.Parse(OffsetTB.Text);
            }

            return(time);
        }