Example #1
0
        public NotebookTab(IUIStyle style) : base(style)
        {
            activationRequestedSupport = new EventSupport <EventArgs>();
            closeRequestedSupport      = new EventSupport <EventArgs>();

            emptyContent = new Label(UIStyle)
            {
                Anchor = AnchoredRect.CreateHorizontallyStretched()
            };

            closeButton = new Button(UIStyle);
            closeButton.AddStyleClass(CloseButtonStyleClass);
            closeButton.Anchor           = AnchoredRect.CreateCentered();
            closeButton.ActionPerformed += OnCloseButtonOnClicked;

            InternalContent = new DockPanel(UIStyle);
            InternalContent.LastChildFill = true;
            InternalContent.Add(closeButton, DockPanelConstraint.Right);
            InternalContent.Add(emptyContent, DockPanelConstraint.Left);

            KeyPressed   += OnKeyPressed;
            MouseClicked += OnMouseClick;

            Focusable = true;
        }
Example #2
0
        public Slider(IUIStyle style) : base(style)
        {
            valueChangedSupport = new EventSupport <EventArgs>();

            sliderHandle = new Button(UIStyle);
            sliderHandle.AddStyleClass(SliderHandleStyleClass);
            sliderHandle.Anchor        = AnchoredRect.CreateLeftAnchored();
            sliderHandle.MouseUp      += OnMouseUp;
            sliderHandle.MouseDown    += OnMouseDown;
            sliderHandle.MouseDragged += OnMouseDragged;

            sliderTrack        = new SliderTrack(UIStyle);
            sliderTrack.Anchor = AnchoredRect.Full;

            Group elements = new Group(UIStyle);

            elements.Anchor = AnchoredRect.Full;
            elements.Add(sliderTrack);
            elements.Add(sliderHandle);

            InternalContent = elements;
            Focusable       = true;

            MinValue = 0;
            MaxValue = 10;
            Step     = 1;
            Value    = 0;
        }
 protected AbstractDocument(IDocumentContent content)
 {
     Content = content;
     documentModifiedSupport    = new EventSupport <TextModificationEventArgs>();
     undoableEditCreatedSupport = new EventSupport <UndoableEditEventArgs>();
     filterChain = new RootFilterChain(this);
 }
Example #4
0
        public ListView(IUIStyle style) : base(style)
        {
            selectionChangedSupport = new EventSupport <ListSelectionEventArgs>();
            listViewStyle           = StyleSystem.StylesFor <ListViewStyleDefinition>();

            selectedIndex = -1;

            InternalContent = new ScrollPanel <BoxGroup>(UIStyle)
            {
                Content = new BoxGroup(UIStyle)
                {
                    Orientation = Orientation.Vertical
                }
            };

            DataItems = new ObservableCollection <T>();
            DataItems.CollectionChanged += (s, e) =>
            {
                RebuildDataRenderers();
                InvalidateLayout();
            };

            CreateRenderer = ListView.DefaultCreateRenderer;

            MinHeight = 0;
            MaxHeight = int.MaxValue;
        }
        /// <summary>
        /// 下移事件
        /// </summary>
        public void Down()
        {
            EventTreeNode node = this.SelectedNode as EventTreeNode;

            if (node == null)
            {
                return;
            }

            EventTreeNode nextNodex = node.NextNode as EventTreeNode;

            if (nextNodex == null)
            {
                return;
            }

            int nodeOldIndex = this.EventSupport.Events.IndexOf(node.Event);

            this.EventSupport.Events.NextTo(node.Event, nextNodex.Event);

            EventSupport.EventUpdate(this);

            //BuildTree();
            this.SwapNode(node, nextNodex);
            this.SelectedNode = node;

            if (EventOrderChanged != null)
            {
                CollectionEditEventArgs[] eventArgs = new CollectionEditEventArgs[1];
                eventArgs[0] = new CollectionEditEventArgs(this.EventSupport.Events, CollectionEditType.Move,
                                                           this.EventSupport.Events.IndexOf(node.Event), nodeOldIndex, node.Event);
                EventOrderChanged(eventArgs);
            }
        }
Example #6
0
 protected WatchRule(IWidget target)
 {
     Target = target;
     propertyChangedHandler  = OnPropertyChanged;
     stateChangedSupport     = new EventSupport <EventArgs>();
     Target.PropertyChanged += propertyChangedHandler;
 }
        /// <summary>
        /// 删除事件
        /// </summary>
        public void Delete()
        {
            EventTreeNode node = this.SelectedNode as EventTreeNode;

            //如果双击的是事件,删除
            if (node != null)
            {
                if (MessageBox.Show(
                        CommonLanguage.Current.ConfirmDelete
                        + Environment.NewLine + Environment.NewLine + node.Name,
                        CommonLanguage.Current.MessageCaption_Notice,
                        MessageBoxButtons.OKCancel,
                        MessageBoxIcon.Question
                        ) != DialogResult.OK)
                {
                    return;
                }

                int index = this.EventSupport.Events.IndexOf(node.Event);

                this.EventSupport.Events.Remove(node.Event);

                EventSupport.EventUpdate(this);

                node.Remove();

                if (EventChanged != null)
                {
                    Dictionary <int, object> values = new Dictionary <int, object>();
                    values.Add(index, node.Event);
                    EventChanged(new CollectionEditEventArgs(this.EventSupport.Events, values));
                }
            }
        }
        //添加,编辑,删除,上下移动方法公开,是为了让外部按钮调用

        /// <summary>
        /// 添加事件
        /// </summary>
        public void Add()
        {
            if (EventSupport == null)
            {
                return;
            }

            FormEventEditor formEventSet = new FormEventEditor(this.Entity);

            formEventSet.FormEntity = this.FormEntity;
            formEventSet.EventList  = EventSupport.Events;

            if (formEventSet.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            EventSupport.Events.Add(formEventSet.Event);

            EventSupport.EventUpdate(this);

            BuildTree();

            if (EventChanged != null)
            {
                EventChanged(new CollectionEditEventArgs(this.EventSupport.Events, CollectionEditType.Add,
                                                         this.EventSupport.Events.IndexOf(formEventSet.Event), formEventSet.Event));
            }
        }
Example #9
0
 public NotebookTabList(IUIStyle style) : base(style)
 {
     activeTabChangedSupport = new EventSupport <EventArgs>();
     allowDragReorder        = true;
     notebookStyle           = StyleSystem.StylesFor <NotebookStyleDefinition>();
     DragState = new DragNDropState(this);
 }
Example #10
0
 private void NotifyChange(object sender, RecordChangedEventArgs <T> e)
 {
     if (DependyTable != null && EventSupport.Contains(e.ChangeType))
     {
         Task.Factory.StartNew(() => {
             NotificationWcf.SendToWcf(new SystimeServiceWcf.Notification()
             {
                 EntityJson = JsonConvert.SerializeObject(e.Entity),
                 Event      = e.ChangeType.ToString(),
                 TableName  = TableName
             });
         });
     }
 }
        public ListDataItemRenderer(IUIStyle style) : base(style)
        {
            selectionChangedSupport = new EventSupport <ListSelectionEventArgs>();
            Anchor          = AnchoredRect.CreateHorizontallyStretched();
            FocusedChanged += (s, e) =>
            {
                if (Focused)
                {
                    selectionChangedSupport.Raise(this, ListSelectionEventArgs.Adjusted);
                }
            };

            MouseClicked += OnMouseClick;
            KeyPressed   += OnKeyPressed;
        }
Example #12
0
        public RadioButtonSet(IUIStyle style, IEnumerable <T> items = null) : base(style)
        {
            selectionChangedSupport = new EventSupport <ListSelectionEventArgs>();
            InternalContent         = new BoxGroup(UIStyle)
            {
                Orientation = Orientation.Horizontal
            };
            Renderer = DefaultRenderFunction;

            DataItems = new ObservableCollection <T>();
            if (items != null)
            {
                DataItems.AddRange(items);
            }
            DataItems.CollectionChanged += OnItemsChanged;
        }
Example #13
0
        public Scrollbar(IUIStyle style) : base(style)
        {
            scrollbarPositionChangedSupport = new EventSupport <EventArgs>();
            scrollbarStyle = StyleSystem.StylesFor <ScrollbarStyleDefinition>();

            ScrollUnit = 50 / 120f;
            lerpOffset = new LerpValue(0, 0, 0.5f, AnimationLoop.NoLoop);

            MouseDragged += OnMouseDragged;
            MouseWheel   += OnMouseWheel;
            MouseUp      += OnMouseUp;
            MouseDown    += OnMouseDown;
            MouseClicked += OnMouseClick;

            Thumb = new ScrollbarThumb(UIStyle);
        }
Example #14
0
        public OptionPane(IUIStyle style) : base(style)
        {
            actionPerformedSupport = new EventSupport <OptionPaneActionArgs>();
            TitleLabel             = new Label(UIStyle);

            dummyContent = new Label(UIStyle);

            buttonContainer = new Grid(UIStyle);
            buttonContainer.RowConstraints.Add(LengthConstraint.Auto);

            InternalContent = new DockPanel(UIStyle);
            InternalContent.LastChildFill = true;
            InternalContent.Add(TitleLabel, DockPanelConstraint.Top);
            InternalContent.Add(buttonContainer, DockPanelConstraint.Bottom);
            InternalContent.Add(dummyContent, DockPanelConstraint.Left);
        }
Example #15
0
        public ButtonBase(IUIStyle style) : base(style)
        {
            buttonStyle             = StyleSystem.StylesFor <ButtonStyleDefinition>();
            actionPerformedSupport  = new EventSupport <EventArgs>();
            selectionChangedSupport = new EventSupport <EventArgs>();

            pressedAnimation = new SmoothValue(1f, 0f, 0.1f);
            pressedAnimation.FinishAnimation();

            Focusable = true;

            FocusedChanged += (sender, args) => ResetPressState();

            MouseDown    += OnMouseDown;
            MouseUp      += OnMouseUp;
            MouseClicked += OnMouseClick;
            KeyPressed   += OnKeyPressed;
            KeyReleased  += OnKeyReleased;
        }
        /// <summary>
        /// 编辑事件
        /// </summary>
        public void Edit()
        {
            EventTreeNode node = this.SelectedNode as EventTreeNode;

            //如果选择的不是事件,直接返回
            if (node == null)
            {
                return;
            }

            //保持当前事件对象的副本,用于在编辑事件之后,进行Compare提取差异
            EventBase oldEvent = null;

            if (EventChanged != null)
            {
                oldEvent = node.Event.Clone() as EventBase;
            }

            //FormEventEditor.Event编辑后还是原对象的引用,在原对象基础上修改的
            FormEventEditor formEventSet = new FormEventEditor(node.Event.HostEntity, node.Event);

            formEventSet.FormEntity = node.Event.HostFormEntity;
            formEventSet.EventList  = EventSupport.Events;

            if (formEventSet.ShowDialog() == DialogResult.OK)
            {
                EventSupport.EventUpdate(this);

                //直接重建树
                //如果想根据改变的触发时机来修改当前事件的父节点,涉及到事件的顺序问题
                //因为编辑的事件在移到新的触发时机下面时,不一定是最后一个
                BuildTree();

                //触发事件(如果有)
                if (EventChanged != null)
                {
                    CollectionEditEventArgs args = new CollectionEditEventArgs(this.EventSupport.Events, CollectionEditType.Edit,
                                                                               this.EventSupport.Events.IndexOf(node.Event), node.Event);
                    args.Members.Inject(ObjectCompare.Compare(oldEvent, node.Event));
                    EventChanged(args);
                }
            }
        }
Example #17
0
 protected VisualContent()
 {
     layoutInvalidatedSupport = new EventSupport <EventArgs>();
     layoutInvalid            = true;
 }
Example #18
0
 public PopUp(IUIStyle style) : base(style)
 {
     closedSupport  = new EventSupport <EventArgs>();
     closingSupport = new EventSupport <ClosingEventArgs>();
 }
 public override void SetUp()
 {
     base.SetUp();
     eventSupport = new EventSupport(Browser);
 }