Exemplo n.º 1
0
        public GenericEditorComponent(MyGUIViewHost viewHost, GenericEditorView view, bool horizontalAlignment = true)
            : base(horizontalAlignment ? "Medical.GUI.Editor.GenericEditor.GenericEditorComponent.layout" : "Medical.GUI.Editor.GenericEditor.GenericEditorVerticalComponent.layout", viewHost)
        {
            this.name             = view.Name;
            this.editorController = view.EditorController;
            this.uiCallback       = view.EditUICallback;

            tree         = new Tree((ScrollView)widget.findWidget("TreeScroller"));
            editTreeView = new EditInterfaceTreeView(tree, view.EditUICallback);

            tableScroller = (ScrollView)widget.findWidget("TableScroller");
            table         = new ResizingTable(tableScroller);

            addRemoveButtons = new AddRemoveButtons((Button)widget.findWidget("Add"), (Button)widget.findWidget("Remove"), widget.findWidget("AddRemovePanel"));
            addRemoveButtons.VisibilityChanged += addRemoveButtons_VisibilityChanged;
            propTable = new PropertiesTable(table, view.EditUICallback, addRemoveButtons);

            objectEditor = new ObjectEditor(editTreeView, propTable, view.EditUICallback);

            gap = tableScroller.Bottom - addRemoveButtons.Top;

            EditInterfaceHandler editInterfaceHandler = viewHost.Context.getModel <EditInterfaceHandler>(EditInterfaceHandler.DefaultName);

            if (editInterfaceHandler != null)
            {
                editInterfaceHandler.setEditInterfaceConsumer(this);
            }

            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            splitter = new Splitter(widget.findWidget("Splitter"));
            splitter.Widget1Resized += split => tree.layout();
            splitter.Widget2Resized += split => table.layout();
        }
        public EditorInfoBarComponent(MyGUIViewHost viewHost, EditorInfoBarView view)
            : base("Medical.GUI.EditorInfoBar.EditorInfoBarComponent.layout", viewHost)
        {
            TextBox captionText = (TextBox)widget.findWidget("CaptionText");

            captionText.Caption = view.Caption;

            Button closeButton = (Button)widget.findWidget("CloseButton");

            closeButton.MouseButtonClick += new MyGUIEvent(closeButton_MouseButtonClick);
            closeAction = view.CloseAction;

            MenuBar menuBar = (MenuBar)widget.findWidget("MenuBar");

            //Build the menus
            Dictionary <String, MenuControl> menus = new Dictionary <string, MenuControl>();

            foreach (EditorInfoBarAction action in view.Actions)
            {
                MenuControl menu;
                if (!menus.TryGetValue(action.Category, out menu))
                {
                    MenuItem menuItem = menuBar.addItem(action.Category, MenuItemType.Popup);
                    menu             = menuBar.createItemPopupMenuChild(menuItem);
                    menu.ItemAccept += new MyGUIEvent(menu_ItemAccept);
                    menus.Add(action.Category, menu);
                }
                MenuItem item = menu.addItem(action.Name, MenuItemType.Normal, action.Action);
                item.UserObject = action;
            }
        }
        private RmlWysiwygComponent(AnomalousMvcContext context, MyGUIViewHost viewHost, RmlWysiwygViewBase rmlWysiwygViewInterface)
            : base("Medical.GUI.Editor.RmlWysiwyg.RmlWysiwygComponent.layout", viewHost)
        {
            undoRedoCallback             = defaultUndoRedoCallback;
            this.context                 = context;
            this.rmlWysiwygViewInterface = rmlWysiwygViewInterface;

            rmlImage     = (ImageBox)widget;
            rocketWidget = new RocketWidget(rmlImage, viewHost.View.Transparent);
            rmlImage.MouseButtonPressed  += rmlImage_MouseButtonPressed;
            rmlImage.MouseButtonReleased += rmlImage_MouseButtonReleased;
            rmlImage.MouseDrag           += new MyGUIEvent(rmlImage_MouseDrag);
            rmlImage.MouseWheel          += new MyGUIEvent(rmlImage_MouseWheel);
            rmlImage.EventScrollGesture  += new MyGUIEvent(rmlImage_EventScrollGesture);
            imageHeight = rmlImage.Height;

            selectedElementManager = new SelectedElementManager(rmlImage, rocketWidget.Context);
            draggingElementManager = new DraggingElementManager(this);

            foreach (var elementStrategy in rmlWysiwygViewInterface.CustomElementStrategies)
            {
                elementStrategyManager.add(elementStrategy);
            }

            if (rmlWysiwygViewInterface.GetMissingRmlCallback != null)
            {
                getMissingRmlCallback = rmlWysiwygViewInterface.GetMissingRmlCallback;
            }
            else
            {
                getMissingRmlCallback = getDefaultMissingRml;
            }
        }
 void view_ViewHostCreated(MyGUIViewHost view)
 {
     viewHosts.Add(view.View.ElementName, view);
     view.ViewClosing       += view_ViewClosing;
     view.ViewResized       += view_ViewResized;
     lastWorkingParentHeight = int.MinValue;
 }
        public RmlWysiwygComponent(RmlWysiwygView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
            : this(context, viewHost, view)
        {
            this.uiCallback = view.UICallback;
            this.undoBuffer = view.UndoBuffer;
            this.contentId  = view.ContentId;
            rocketWidget.Context.ZoomLevel = view.ZoomLevel;

            if (view.UndoRedoCallback != null)
            {
                undoRedoCallback = view.UndoRedoCallback;
            }

            documentName = view.RmlFile;
            if (documentName != null)
            {
                this.FakeLoadLocation = RocketInterface.createValidFileUrl(context.ResourceProvider.getFullFilePath(documentName));
            }
            else
            {
                this.FakeLoadLocation = RocketInterface.createValidFileUrl(context.ResourceProvider.BackingLocation);
            }
            loadDocumentFile(documentName, false);

            view._fireComponentCreated(this);
        }
        public TimelineEditorComponent(MyGUIViewHost viewHost, TimelineEditorView view, SaveableClipboard clipboard)
            : base("Medical.GUI.Editor.TimelineEditor.TimelineEditorComponent.layout", viewHost)
        {
            Widget window = this.widget;

            window.RootKeyChangeFocus += new MyGUIEvent(window_RootKeyChangeFocus);

            this.clipboard          = clipboard;
            this.editorController   = view.EditorController;
            this.propEditController = view.PropEditController;

            this.timelineController = view.TimelineController;
            timelineController.TimelinePlaybackStarted += timelineController_TimelinePlaybackStarted;
            timelineController.TimelinePlaybackStopped += timelineController_TimelinePlaybackStopped;
            timelineController.TimeTicked += timelineController_TimeTicked;

            window.KeyButtonReleased += new MyGUIEvent(window_KeyButtonReleased);

            //Play Button
            playButton = window.findWidget("PlayButton") as Button;
            playButton.MouseButtonClick += new MyGUIEvent(playButton_MouseButtonClick);

            fastForwardButton = window.findWidget("FastForward") as Button;
            fastForwardButton.MouseButtonClick += new MyGUIEvent(fastForwardButton_MouseButtonClick);

            rewindButton = window.findWidget("Rewind") as Button;
            rewindButton.MouseButtonClick += new MyGUIEvent(rewindButton_MouseButtonClick);

            //Timeline view
            ScrollView timelineViewScrollView = window.findWidget("ActionView") as ScrollView;

            timelineView                     = new TimelineView(timelineViewScrollView);
            timelineView.KeyReleased        += new EventHandler <KeyEventArgs>(timelineView_KeyReleased);
            timelineView.ActiveDataChanging += new EventHandler <CancelEventArgs>(timelineView_ActiveDataChanging);
            timelineView.MarkerMoved        += new EventDelegate <TimelineView, float>(timelineView_MarkerMoved);
            timelineView.ActiveDataChanged  += new EventHandler(timelineView_ActiveDataChanged);

            //Track filter
            ScrollView trackFilterScrollView = window.findWidget("ActionFilter") as ScrollView;

            actionFilter = new TrackFilter(trackFilterScrollView, timelineView);
            actionFilter.AddTrackItem += new AddTrackItemCallback(actionFilter_AddTrackItem);

            numberLine = new NumberLine(window.findWidget("NumberLine") as ScrollView, timelineView);

            //Add tracks to timeline.
            buildTrackActions();
            foreach (TimelineActionPrototype action in actionDataManager.Prototypes)
            {
                timelineView.addTrack(action.TypeName);
            }

            //Enabled = false;

            ViewHost.Context.getModel <EditMenuManager>(EditMenuManager.DefaultName).setMenuProvider(this);
        }
Exemplo n.º 7
0
        public GenericPropertiesFormComponent(MyGUIViewHost viewHost, GenericPropertiesFormView genericEditorView)
            : base(genericEditorView.HorizontalAlignment ? "Medical.GUI.Editor.GenericEditor.GenericEditorComponent.layout" : "Medical.GUI.Editor.GenericEditor.GenericEditorVerticalComponent.layout", viewHost)
        {
            Widget window = this.widget;

            this.name             = genericEditorView.Name;
            this.editorController = genericEditorView.EditorController;

            tree         = new Tree((ScrollView)window.findWidget("TreeScroller"));
            editTreeView = new EditInterfaceTreeView(tree, genericEditorView.EditUICallback);

            //This class does not use the add / remove buttons from the layout, so hide them
            Widget addRemovePanel = widget.findWidget("AddRemovePanel");

            addRemovePanel.Visible = false;

            tableScroller    = (ScrollView)widget.findWidget("TableScroller");
            table            = new ResizingTable(tableScroller);
            addRemoveButtons = new AddRemoveButtons((Button)widget.findWidget("Add"), (Button)widget.findWidget("Remove"), widget.findWidget("AddRemovePanel"));
            addRemoveButtons.VisibilityChanged += addRemoveButtons_VisibilityChanged;
            addRemoveButtons_VisibilityChanged(addRemoveButtons, addRemoveButtons.Visible);
            propTable = new PropertiesTable(table, genericEditorView.EditUICallback, addRemoveButtons);

            propertiesForm = new ScrollablePropertiesForm(tableScroller, genericEditorView.EditUICallback);

            contextualProperties = new ContextualPropertiesEditor(propertiesForm, propTable);

            objectEditor = new ObjectEditor(editTreeView, contextualProperties, genericEditorView.EditUICallback);

            EditInterfaceHandler editInterfaceHandler = viewHost.Context.getModel <EditInterfaceHandler>(EditInterfaceHandler.DefaultName);

            if (editInterfaceHandler != null)
            {
                editInterfaceHandler.setEditInterfaceConsumer(this);
            }

            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            CurrentEditInterface = genericEditorView.EditInterface;

            gap = tableScroller.Bottom - addRemoveButtons.Top;

            splitter = new Splitter(widget.findWidget("Splitter"));
            splitter.Widget1Resized += split => tree.layout();
            splitter.Widget2Resized += split =>
            {
                if (contextualProperties.CurrentEditor == propertiesForm)
                {
                    propertiesForm.layout();
                }
                else
                {
                    table.layout();
                }
            };
        }
        public OffsetSequenceEditor(SaveableClipboard clipboard, MyGUIViewHost viewHost, OffsetSequenceEditorView view, MedicalController medicalController)
            : base("Medical.GUI.OffsetSequence.OffsetSequenceEditor.layout", viewHost)
        {
            this.clipboard         = clipboard;
            this.medicalController = medicalController;
            this.simObjectMover    = view.SimObjectMover;

            widget.KeyButtonReleased  += new MyGUIEvent(window_KeyButtonReleased);
            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            //Remove button
            Button removeButton = widget.findWidget("RemoveAction") as Button;

            removeButton.MouseButtonClick += new MyGUIEvent(removeButton_MouseButtonClick);

            //Timeline view
            ScrollView timelineViewScrollView = widget.findWidget("ActionView") as ScrollView;

            timelineView                    = new TimelineView(timelineViewScrollView);
            timelineView.Duration           = Duration;
            timelineView.KeyReleased       += new EventHandler <KeyEventArgs>(timelineView_KeyReleased);
            timelineView.ActiveDataChanged += timelineView_ActiveDataChanged;

            //Properties
            ScrollView timelinePropertiesScrollView = widget.findWidget("ActionPropertiesScrollView") as ScrollView;

            actionProperties         = new TimelineDataProperties(timelinePropertiesScrollView, timelineView);
            actionProperties.Visible = false;
            actionProperties.addPanel("Offset Position", new OffsetKeyframeProperties(timelinePropertiesScrollView, this, view.UICallback));

            //Timeline filter
            ScrollView timelineFilterScrollView = widget.findWidget("ActionFilter") as ScrollView;

            trackFilter = new TrackFilter(timelineFilterScrollView, timelineView);
            trackFilter.AddTrackItem += new AddTrackItemCallback(trackFilter_AddTrackItem);

            numberLine = new NumberLine(widget.findWidget("NumberLine") as ScrollView, timelineView);

            //Add tracks to timeline.
            timelineView.addTrack("Offset Position");

            ViewHost.Context.getModel <EditMenuManager>(EditMenuManager.DefaultName).setMenuProvider(this);

            Button chooseTargetButton = (Button)widget.findWidget("ChooseTargetButton");

            chooseTargetButton.MouseButtonClick += chooseTargetButton_MouseButtonClick;

            targetLabel         = (TextBox)widget.findWidget("TargetLabel");
            targetLabel.Caption = DefaultTargetLabelText;

            CurrentSequence = view.Sequence;
        }
Exemplo n.º 9
0
        public TextEditorComponent(MyGUIViewHost viewHost, TextEditorView view)
            : base("Medical.GUI.TextEditor.TextEditorComponent.layout", viewHost)
        {
            text = (EditBox)widget.findWidget("Text");

            this.textHighlighter = view.TextHighlighter;
            if (textHighlighter != null)
            {
                widget.setColour(textHighlighter.BackgroundColor);
                text.EventEditTextChange += new MyGUIEvent(text_EventEditTextChange);
            }

            Text      = view.Text;
            MaxLength = view.MaxLength;
            WordWrap  = view.WordWrap;
        }
        public ExpandingGenericEditor(MyGUIViewHost viewHost, ExpandingGenericEditorView view)
            : base("Medical.GUI.Editor.GenericEditor.ExpandingGenericEditor.layout", viewHost)
        {
            this.name             = view.Name;
            this.editorController = view.EditorController;

            EditInterfaceHandler editInterfaceHandler = viewHost.Context.getModel <EditInterfaceHandler>(EditInterfaceHandler.DefaultName);

            if (editInterfaceHandler != null)
            {
                editInterfaceHandler.setEditInterfaceConsumer(this);
            }

            expandingView = new ScrollingExpandingEditInterfaceViewer((ScrollView)widget.findWidget("Scroller"), view.EditUICallback);

            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            CurrentEditInterface = view.EditInterface;
        }
        public DragAndDropComponent(MyGUIViewHost viewHost, DragAndDropViewBase view)
            : base("Medical.GUI.Editor.DragAndDrop.DragAndDropComponent.layout", viewHost)
        {
            dragItems = new NoSelectButtonGrid((ScrollView)widget);
            dragItems.ItemActivated += dragItems_ItemActivated;
            this.view = view;

            dragItems.SuppressLayout = true;
            foreach (DragAndDropItem item in view.BaseItems)
            {
                ButtonGridItem gridItem = dragItems.addItem("", item.Name, item.Icon);
                gridItem.UserObject           = item;
                gridItem.MouseButtonPressed  += gridItem_MouseButtonPressed;
                gridItem.MouseButtonReleased += gridItem_MouseButtonReleased;
                gridItem.MouseDrag           += gridItem_MouseDrag;
            }
            dragItems.SuppressLayout = false;
            dragItems.layout();

            dragIconPreview         = (ImageBox)Gui.Instance.createWidgetT("ImageBox", "ImageBox", 0, 0, ScaleHelper.Scaled(32), ScaleHelper.Scaled(32), Align.Default, "Info", view.Name + "DragAndDropPreview");
            dragIconPreview.Visible = false;
        }
Exemplo n.º 12
0
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is TextEditorView)
     {
         TextEditorComponent component = new TextEditorComponent(viewHost, (TextEditorView)view);
         ((TextEditorView)view)._fireComponentCreated(component);
         return(component);
     }
     return(null);
 }
Exemplo n.º 13
0
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is SlideTaskbarView)
     {
         return(new SlideTaskbar((SlideTaskbarView)view, viewHost));
     }
     return(null);
 }
Exemplo n.º 14
0
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is DragAndDropViewBase)
     {
         return(new DragAndDropComponent(viewHost, (DragAndDropViewBase)view));
     }
     return(null);
 }
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is MovementSequenceEditorView)
     {
         return(new MovementSequenceEditor(movementSequenceController, clipboard, viewHost, (MovementSequenceEditorView)view));
     }
     return(null);
 }
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is EditorTaskbarView)
     {
         return(new EditorTaskbar((EditorTaskbarView)view, viewHost, editorController, FilesystemWatcher));
     }
     return(null);
 }
 public ViewHostComponent createViewHostComponent(MyGUIView view, Medical.Controller.AnomalousMvc.AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     return(null);
 }
Exemplo n.º 18
0
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is OffsetSequenceEditorView)
     {
         return(new OffsetSequenceEditor(clipboard, viewHost, (OffsetSequenceEditorView)view, medicalController));
     }
     return(null);
 }
Exemplo n.º 19
0
        public MovementSequenceEditor(MovementSequenceController movementSequenceController, SaveableClipboard clipboard, MyGUIViewHost viewHost, MovementSequenceEditorView view)
            : base("Medical.GUI.Editor.MovementSequence.MovementSequenceEditor.layout", viewHost)
        {
            this.clipboard = clipboard;

            widget.KeyButtonReleased  += new MyGUIEvent(window_KeyButtonReleased);
            widget.RootKeyChangeFocus += new MyGUIEvent(widget_RootKeyChangeFocus);

            this.movementSequenceController             = movementSequenceController;
            movementSequenceController.PlaybackStarted += movementSequenceController_PlaybackStarted;
            movementSequenceController.PlaybackStopped += movementSequenceController_PlaybackStopped;
            movementSequenceController.PlaybackUpdate  += movementSequenceController_PlaybackUpdate;

            //Remove button
            Button removeButton = widget.findWidget("RemoveAction") as Button;

            removeButton.MouseButtonClick += new MyGUIEvent(removeButton_MouseButtonClick);

            //Duration Edit
            durationEdit               = new NumericEdit(widget.findWidget("SequenceDuration") as EditBox);
            durationEdit.AllowFloat    = true;
            durationEdit.ValueChanged += new MyGUIEvent(durationEdit_ValueChanged);
            durationEdit.MinValue      = 0.0f;
            durationEdit.MaxValue      = 600;

            //Play Button
            playButton = widget.findWidget("PlayButton") as Button;
            playButton.MouseButtonClick += new MyGUIEvent(playButton_MouseButtonClick);

            //Timeline view
            ScrollView timelineViewScrollView = widget.findWidget("ActionView") as ScrollView;

            timelineView = new TimelineView(timelineViewScrollView);
            timelineView.DurationChanged += new EventHandler(timelineView_DurationChanged);
            timelineView.Duration         = 5.0f;
            timelineView.KeyReleased     += new EventHandler <KeyEventArgs>(timelineView_KeyReleased);

            //Properties
            ScrollView timelinePropertiesScrollView = widget.findWidget("ActionPropertiesScrollView") as ScrollView;

            actionProperties         = new TimelineDataProperties(timelinePropertiesScrollView, timelineView);
            actionProperties.Visible = false;
            actionProperties.addPanel("Muscle Position", new MovementKeyframeProperties(timelinePropertiesScrollView));

            //Timeline filter
            ScrollView timelineFilterScrollView = widget.findWidget("ActionFilter") as ScrollView;

            trackFilter = new TrackFilter(timelineFilterScrollView, timelineView);
            trackFilter.AddTrackItem += new AddTrackItemCallback(trackFilter_AddTrackItem);

            numberLine = new NumberLine(widget.findWidget("NumberLine") as ScrollView, timelineView);

            //Add tracks to timeline.
            timelineView.addTrack("Muscle Position");

            CurrentSequence = view.Sequence;
            if (view.ListenForSequenceChanges)
            {
                movementSequenceController.CurrentSequenceChanged += movementSequenceController_CurrentSequenceChanged;
                if (CurrentSequence == null)
                {
                    CurrentSequence = movementSequenceController.CurrentSequence;
                }
            }

            ViewHost.Context.getModel <EditMenuManager>(EditMenuManager.DefaultName).setMenuProvider(this);
        }
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is GenericEditorView)
     {
         GenericEditorView      genericEditorView = (GenericEditorView)view;
         GenericEditorComponent component         = new GenericEditorComponent(viewHost, genericEditorView, genericEditorView.HorizontalAlignment);
         component.CurrentEditInterface = genericEditorView.EditInterface;
         return(component);
     }
     if (view is GenericPropertiesFormView)
     {
         GenericPropertiesFormComponent component = new GenericPropertiesFormComponent(viewHost, (GenericPropertiesFormView)view);
         return(component);
     }
     if (view is ExpandingGenericEditorView)
     {
         return(new ExpandingGenericEditor(viewHost, (ExpandingGenericEditorView)view));
     }
     return(null);
 }
 public ViewHostComponent createViewHostComponent(MyGUIView view, AnomalousMvcContext context, MyGUIViewHost viewHost)
 {
     if (view is TimelineEditorView)
     {
         TimelineEditorView      editorView     = (TimelineEditorView)view;
         TimelineEditorComponent timelineEditor = new TimelineEditorComponent(viewHost, editorView, clipboard);
         timelineEditor.CurrentTimeline = editorView.Timeline;
         editorView.fireComponentCreated(timelineEditor);
         return(timelineEditor);
     }
     return(null);
 }