示例#1
0
        public override void Initialize(EntryEditorVM vm)
        {
            _vm = vm as ScriptEditorVM ?? throw new InvalidOperationException(nameof(vm));

            _vm.PropertyChanged += _vm_PropertyChanged;
            OnSubeditorChanged(_vm.Subeditor);
        }
示例#2
0
        private void OnEntryEditorClosed(EntryEditorVM editor)
        {
            //TODO: This can be done better
            var foundItem = _openedEntryEditors.FirstOrDefault(item => item.Value == editor);

            _openedEntryEditors.Remove(foundItem.Key);
        }
示例#3
0
        private void OnEntryEditorOpening(EntryEditorVM editor)
        {
            var editorView = _viewFactory.CreateView(editor.GetType());

            editorView.Initialize(editor);
            editorView.Show(this, DockState.Document);
        }
示例#4
0
        public override void Initialize(EntryEditorVM vm)
        {
            this.vm = vm as ImageEditorVM ?? throw new InvalidOperationException(nameof(vm));

            OnSubeditorChanged(this.vm.Subeditor);

            this.vm.PropertyChanged += _vm_PropertyChanged;
        }
示例#5
0
        public override void Initialize(EntryEditorVM vm)
        {
            _vm = vm as MapEditorVM ?? throw new InvalidOperationException(nameof(vm));

            MapView.Initialize(_vm.MapView);

            TilesTool.Initialize(_vm.TilesTool);
            ActionsTool.Initialize(_vm.ActionsTool);
            PalettesTool.Initialize(_vm.PalettesTool);

            ToolTabs.DataBindings.Add(nameof(ToolTabs.SelectedIndex), _vm.Tools, nameof(_vm.Tools.CurrentToolIndex), false, DataSourceUpdateMode.OnPropertyChanged);
            CursorPosInfoLbl.DataBindings.Add(nameof(CursorPosInfoLbl.Text), _vm.MapView.Cursor, nameof(_vm.MapView.Cursor.Info), false, DataSourceUpdateMode.OnPropertyChanged);
        }
示例#6
0
        public virtual void Initialize(EntryEditorVM vm)
        {
            VM = vm ?? throw new ArgumentNullException(nameof(vm));

            VM.ActivatingAction = () => this.InvokeIfRequired(() => base.Activate());
            VM.ClosingAction    = () => this.InvokeIfRequired(() => base.Close());

            DataBindings.Add(nameof(Text), VM, nameof(VM.Title), false, DataSourceUpdateMode.OnPropertyChanged);

            VM.PropertyChanged += VM_PropertyChanged;

            EntryEditor.Initialize(VM);
        }
示例#7
0
        public void Initialize(EntryEditorVM vm)
        {
            _vm = vm ?? throw new ArgumentNullException(nameof(vm));

            InnerCtrl.Initialize(_vm);

            btnNext.DataBindings.Add(nameof(btnNext.Enabled), _vm, nameof(_vm.NextAvailable), false, DataSourceUpdateMode.OnPropertyChanged);
            btnPrevious.DataBindings.Add(nameof(btnPrevious.Enabled), _vm, nameof(_vm.PreviousAvailable), false, DataSourceUpdateMode.OnPropertyChanged);
            btnCommit.DataBindings.Add(nameof(btnCommit.Enabled), _vm, nameof(_vm.CommitEnabled), false, DataSourceUpdateMode.OnPropertyChanged);
            btnRevert.DataBindings.Add(nameof(btnRevert.Enabled), _vm, nameof(_vm.RevertEnabled), false, DataSourceUpdateMode.OnPropertyChanged);

            btnCommit.Click   += (s, a) => _vm.Commit();
            btnRevert.Click   += (s, a) => _vm.Revert();
            btnNext.Click     += (s, a) => _vm.EditNextEntry();
            btnPrevious.Click += (s, a) => _vm.EditPreviousEntry();

            OnEditedChanged();
        }
示例#8
0
        internal EntryEditorVM OpenEntryEditor(string tableName, string entryId)
        {
            var repository = repositoryProvider.GetRepository(tableName);

            string entryEditorKey = $"{tableName}#{entryId}";

            EntryEditorVM entryEditor = null;

            if (!_openedEntryEditors.TryGetValue(entryEditorKey, out entryEditor))
            {
                entryEditor = dbEntryEditorFactory.Create(repository);
                _openedEntryEditors.Add(entryEditorKey, entryEditor);
                entryEditor.ClosedAction = () => OnEntryEditorClosed(entryEditor);
                entryEditor.EditEntry(entryId);
                EntryEditorOpeningAction?.Invoke(entryEditor);
            }
            else
            {
                entryEditor.Activate();
            }

            return(entryEditor);
        }
示例#9
0
 public EntryEditor()
 {
     InitializeComponent();
     DataContext = new EntryEditorVM();
 }
示例#10
0
 public virtual void Initialize(EntryEditorVM vm)
 {
     throw new NotImplementedException();
 }