예제 #1
0
        /// <summary>
        /// Creates a base class for subpage reference list items
        /// </summary>
        /// <param name="list">The subpage list</param>
        /// <param name="index">The index of the item</param>
        internal UIDynamicButtonListItem(UIDynamicButtonList list, uint index)
            : base(list.SmartObject)
        {
            try
            {
                _list  = list;
                _index = index;

                VisibleJoin = list.SmartObject.BooleanInput[string.Format("Item {0} Visible", index)];
                EnableJoin  = list.SmartObject.BooleanInput[string.Format("Item {0} Enabled", index)];

                var boolInputSig  = list.SmartObject.BooleanInput[string.Format("Item {0} Selected", index)];
                var boolOutputSig = list.SmartObject.BooleanOutput[string.Format("Item {0} Pressed", index)];
                _iconAnalogSig = list.SmartObject.UShortInput[string.Format("Set Item {0} Icon Analog", index)];
                _iconSerialSig = list.SmartObject.StringInput[string.Format("Set Item {0} Icon Serial", index)];
                var nameStringSig = list.SmartObject.StringInput[string.Format("Set Item {0} Text", index)];

                _button = new UIButton(list.SmartObject, boolOutputSig.Name, boolInputSig.Name,
                                       nameStringSig.Name);
            }
            catch (Exception e)
            {
                CloudLog.Exception(e);
            }
        }
예제 #2
0
 public UIButton(BoolOutputSig pressDigitalJoin, BoolInputSig feedbackDigitalJoin,
                 StringInputSig textSerialJoin, BoolInputSig enableDigitalJoin, BoolInputSig visibleDigitalJoin)
     : this(pressDigitalJoin, feedbackDigitalJoin, textSerialJoin)
 {
     this.EnableDigitalJoin  = enableDigitalJoin;
     this.VisibleDigitalJoin = visibleDigitalJoin;
 }
예제 #3
0
 public UITextField(BoolOutputSig hasFocusJoin, BoolInputSig setFocusJoinOn, BoolInputSig setFocusJoinOff,
                    BoolInputSig enableJoin, BoolInputSig visibleJoin, StringInputSig textJoinToDevice,
                    StringOutputSig textJoinFromDevice, UILabel titleLabel, UIButton enterButton, UIButton escButton, UIButton clearButton)
 {
     HasFocusJoin    = hasFocusJoin;
     SetFocusJoinOn  = setFocusJoinOn;
     SetFocusJoinOff = setFocusJoinOff;
     EnableJoin      = enableJoin;
     if (EnableJoin != null)
     {
         EnableJoin.BoolValue = true;
     }
     VisibleJoin = visibleJoin;
     if (VisibleJoin != null)
     {
         VisibleJoin.BoolValue = true;
     }
     TextJoinToDevice             = textJoinToDevice;
     TextJoinToDevice.StringValue = "";
     TextJoinFromDevice           = textJoinFromDevice;
     Device                 = hasFocusJoin.Owner as BasicTriList;
     TitleLabel             = titleLabel;
     this.EnterButton       = enterButton;
     this.EnterButton.Title = "Enter";
     this.EscButton         = escButton;
     this.EscButton.Title   = "Escape";
     this.ClearButton       = clearButton;
     this.ClearButton.Enable();
 }
        uint SetUpCallButton(EssentialsHuddleVtc1PanelAvFunctionsDriver avDriver, uint nextJoin)
        {
            // Call button
            var tempJoin = nextJoin;

            TriList.SetString(tempJoin, "DND");
            CallCaretVisible = tempJoin + 10;
            TriList.SetSigFalseAction(tempJoin, () =>
            {
                avDriver.ShowActiveCallsList();
                if (avDriver.CurrentRoom.InCallFeedback.BoolValue)
                {
                    CaretInterlock.ShowInterlocked(CallCaretVisible);
                }
            });
            HeaderCallButtonIconSig = TriList.StringInput[tempJoin];

            nextJoin--;
            return(nextJoin);
        }
예제 #5
0
        public static void SetValue(this StringInputSig sig, bool repropagate, string value)
        {
            //if (value == null || value.Length <= MAXIMUMSTRINGLENGTH)
            {
                if (!repropagate && sig.StringValue == value)
                {
                    return;
                }

                sig.StringValue = value;
                return;
            }

            /*
             * sig.UpdateStringWithOptions (value.Substring (0, MAXIMUMSTRINGLENGTH), eInboundTextModes.e_InboundTextModeClear, eStringEncoding.eEncodingASCII);
             * int ix;
             * for (ix = MAXIMUMSTRINGLENGTH; ix < value.Length - MAXIMUMSTRINGLENGTH; ix += MAXIMUMSTRINGLENGTH)
             *      sig.UpdateStringWithOptions (value.Substring (ix, MAXIMUMSTRINGLENGTH), eInboundTextModes.e_InboundTextModeAppendToBuffer, eStringEncoding.eEncodingASCII);
             * sig.UpdateStringWithOptions (value.Substring (ix, value.Length - ix), eInboundTextModes.e_InboundTextModeEnd, eStringEncoding.eEncodingASCII);
             */
        }
예제 #6
0
 public static void SetValue(this StringInputSig sig, string format, params object[] args)
 {
     sig.SetValue(false, format, args);
 }
예제 #7
0
 public static void SetValue(this StringInputSig sig, string value)
 {
     sig.SetValue(false, value);
 }
예제 #8
0
 public UIButton(BoolOutputSig pressDigitalJoin, BoolInputSig feedbackDigitalJoin,
                 StringInputSig textSerialJoin)
     : this(pressDigitalJoin, feedbackDigitalJoin)
 {
     this.TextSerialJoin = textSerialJoin;
 }
예제 #9
0
 public UIDynamicIcon(StringInputSig iconSerialJoin, string defaultIcon, BoolInputSig enableDigitalJoin, BoolInputSig visibleDigitalJoin)
     : this(iconSerialJoin, enableDigitalJoin, visibleDigitalJoin)
 {
     this.Icon = defaultIcon;
 }
예제 #10
0
 public UIDynamicIcon(StringInputSig iconSerialJoin, string defaultIcon)
     : this(iconSerialJoin)
 {
     this.Icon = defaultIcon;
 }
예제 #11
0
 public void UnlinkInputSig(StringInputSig sig)
 {
     LinkedInputSigs.Remove(sig);
 }
예제 #12
0
 public UILabel(StringInputSig textSerialJoin, string defaultText)
     : this(textSerialJoin)
 {
     this.Text = defaultText;
 }
예제 #13
0
 void UpdateSig(StringInputSig sig, string value)
 {
     sig.StringValue = value;
 }
예제 #14
0
 public UIActionSheetButton(BoolOutputSig digitalPressJoin,
                            BoolInputSig digitalFeedbackJoin, StringInputSig serialJoinSig, ActionSheetButtonAction action)
     : base(digitalPressJoin, digitalFeedbackJoin, serialJoinSig)
 {
     this.Action = action;
 }
예제 #15
0
 public static void SetValue(this StringInputSig sig, bool repropagate, string format, params object[] args)
 {
     sig.SetValue(repropagate, String.Format(format, args));
 }
예제 #16
0
 public void LinkInputSig(StringInputSig sig)
 {
     LinkedInputSigs.Add(sig);
     UpdateSig(sig);
 }
예제 #17
0
 public UILabel(StringInputSig textSerialJoin, BoolInputSig enableDigitalJoin, BoolInputSig visibleDigitalJoin)
     : this(textSerialJoin)
 {
     this.EnableDigitalJoin  = enableDigitalJoin;
     this.VisibleDigitalJoin = visibleDigitalJoin;
 }
예제 #18
0
 void UpdateSig(StringInputSig sig)
 {
     sig.StringValue = _StringValue;
 }
예제 #19
0
 public UILabel(StringInputSig textSerialJoin, string defaultText, BoolInputSig enableDigitalJoin, BoolInputSig visibleDigitalJoin)
     : this(textSerialJoin, enableDigitalJoin, visibleDigitalJoin)
 {
     this.Text = defaultText;
 }
예제 #20
0
 public UIDynamicIcon(StringInputSig iconSerialJoin, BoolInputSig enableDigitalJoin, BoolInputSig visibleDigitalJoin)
     : this(iconSerialJoin)
 {
     this.EnableDigitalJoin  = enableDigitalJoin;
     this.VisibleDigitalJoin = visibleDigitalJoin;
 }
예제 #21
0
 public UILabel(StringInputSig textSerialJoin)
 {
     this.TextSerialJoin = textSerialJoin;
 }
예제 #22
0
 public UIDynamicIcon(StringInputSig iconSerialJoin)
 {
     this.IconSerialJoin = iconSerialJoin;
 }
예제 #23
0
 public UIDateTimeLabel(StringInputSig textSerialJoin, IFormatProvider dateFormat)
     : base(textSerialJoin)
 {
     this.DateFormat = dateFormat;
 }