コード例 #1
0
        private bool _isCurrentTabSelected()
        {
            TabControl tabControl  = WpfUtilities.FindParentControl <TabControl>(this);
            TabItem    selectedTab = tabControl.Items[tabControl.SelectedIndex] as TabItem;

            return(selectedTab != null && WpfUtilities.IsTab(this, selectedTab.Header.ToString()));
        }
コード例 #2
0
        public static void AddTagGeneratorTabChangedEvent <TKey>(TabControl control, GDbTab tab, GTabSettings <TKey, ReadableTuple <TKey> > settings, BaseDb gdb)
        {
            control.SelectionChanged += delegate(object sender, SelectionChangedEventArgs e) {
                if (e == null || e.RemovedItems.Count <= 0 || e.RemovedItems[0] as TabItem == null || (e.AddedItems.Count > 0 && e.AddedItems[0] as TabItem == null))
                {
                    return;
                }

                if (e.AddedItems.Count <= 0)
                {
                    return;
                }

                TabItem item = e.AddedItems[0] as TabItem;

                if (gdb.DbSource.AlternativeName != null)
                {
                    if (WpfUtilities.IsTab(item, gdb.DbSource.Filename) || WpfUtilities.IsTab(item, gdb.DbSource.AlternativeName))
                    {
                        gdb.To <TKey>().TabGenerator.OnTabVisualUpdate((GDbTabWrapper <TKey, ReadableTuple <TKey> >)tab, settings, gdb);
                    }
                }
                else
                {
                    if (WpfUtilities.IsTab(item, gdb.DbSource))
                    {
                        gdb.To <TKey>().TabGenerator.OnTabVisualUpdate((GDbTabWrapper <TKey, ReadableTuple <TKey> >)tab, settings, gdb);
                    }
                }
            };
        }
コード例 #3
0
        private void _updateMetaGrf()
        {
            try {
                _mainTabControl.Dispatch(p => p.IsEnabled = false);
                Progress = -1;
                _metaGrf.Update(_metaGrfViewer.Paths);
                _delayedReloadDatabase = true;

                _tviItemDb.Dispatcher.Invoke(new Action(delegate {
                    _tviItemDb.CheckValid();
                }));

                _mainTabControl.Dispatcher.Invoke(new Action(delegate {
                    try {
                        if (!WpfUtilities.IsTab(_mainTabControl.SelectedItem as TabItem, "Settings"))
                        {
                            ReloadDatabase();
                        }
                    }
                    catch (Exception err) {
                        ErrorHandler.HandleException(err);
                    }
                }));
            }
            catch (Exception err) {
                ErrorHandler.HandleException(err);
            }
            finally {
                Progress = 100;
                _mainTabControl.Dispatch(p => p.IsEnabled = true);
            }
        }
コード例 #4
0
        private bool _isCurrentTabSelected()
        {
            return(this.Dispatch(() => {
                try {
                    TabControl tabControl = WpfUtilities.FindParentControl <TabControl>(this);
                    TabItem selectedTab = tabControl.Items[tabControl.SelectedIndex] as TabItem;

                    return selectedTab != null && WpfUtilities.IsTab(this, selectedTab.Header.ToString());
                }
                catch {
                    return false;
                }
            }));
        }
コード例 #5
0
        private void _updateMetaGrf()
        {
            try {
                _mainTabControl.Dispatch(p => p.IsEnabled = false);
                Progress = -1;
                _metaGrf.Update(_metaGrfViewer.Paths);
                _delayedReloadDatabase = true;

                _listItemClientTxtFiles.Dispatcher.Invoke(new Action(delegate {
                    foreach (TextViewItem tvi in _listItemClientTxtFiles.Items)
                    {
                        tvi.CheckValid();
                    }

                    foreach (TextViewItem tvi in _listItemClientLuaFiles.Items)
                    {
                        tvi.CheckValid();
                    }

                    _tviItemDb.CheckValid();
                }));

                bool reload = _mainTabControl.Dispatch(() =>
                                                       !WpfUtilities.IsTab(_mainTabControl.SelectedItem as TabItem, "Settings")
                                                       );

                if (reload)
                {
                    ReloadDatabase(false);
                }
            }
            catch (Exception err) {
                ErrorHandler.HandleException(err);
            }
            finally {
                Progress = 100;
                _mainTabControl.Dispatch(p => p.IsEnabled = true);
            }
        }
コード例 #6
0
ファイル: TabGenerator.cs プロジェクト: userid0/RagnarokSDE
        private GDbTab _gDbTabMaker(SdeDatabase database, TabControl control, BaseDb gdb)
        {
            GTabSettings <TKey, ReadableTuple <TKey> >  settings = new GTabSettings <TKey, ReadableTuple <TKey> >(gdb);
            GDbTabWrapper <TKey, ReadableTuple <TKey> > tab      = new GDbTabWrapper <TKey, ReadableTuple <TKey> >();
            Table <TKey, ReadableTuple <TKey> >         table    = gdb.To <TKey>().Table;

            settings.Table   = table;
            settings.Control = control;

            Settings.Control  = control;
            Settings.Gdb      = gdb;
            Settings.Tab      = tab;
            Settings.Table    = table;
            Settings.Database = database;

            InitStyle(tab, settings, gdb);
            InitAttributes(tab, settings, gdb);
            if (OnInitSettings != null)
            {
                OnInitSettings(tab, settings, gdb);
            }

            DisplayableProperty <TKey, ReadableTuple <TKey> > generalProperties = new DisplayableProperty <TKey, ReadableTuple <TKey> >();

            generalProperties.Spacing  = DefaultSpacing;
            Settings.GeneralProperties = generalProperties;

            SdeEditor.Instance.SelectionChanged += new SdeEditor.SdeSelectionChangedEventHandler((sender, oldTab, newTab) => {
                try {
                    TabItem item = newTab;

                    if (gdb.DbSource.AlternativeName != null)
                    {
                        if (WpfUtilities.IsTab(item, gdb.DbSource.Filename) || WpfUtilities.IsTab(item, gdb.DbSource.AlternativeName))
                        {
                            if (generalProperties.OnTabVisible != null)
                            {
                                generalProperties.OnTabVisible(this);
                            }
                            if (OnPreviewTabVisualUpdate != null)
                            {
                                OnPreviewTabVisualUpdate(tab, settings, gdb);
                            }
                            if (OnTabVisualUpdate != null)
                            {
                                OnTabVisualUpdate(tab, settings, gdb);
                            }
                            if (OnTabRefreshed != null)
                            {
                                OnTabRefreshed(Settings);
                            }
                        }
                    }
                    else
                    {
                        if (WpfUtilities.IsTab(item, gdb.DbSource))
                        {
                            if (generalProperties.OnTabVisible != null)
                            {
                                generalProperties.OnTabVisible(this);
                            }
                            if (OnPreviewTabVisualUpdate != null)
                            {
                                OnPreviewTabVisualUpdate(tab, settings, gdb);
                            }
                            if (OnTabVisualUpdate != null)
                            {
                                OnTabVisualUpdate(tab, settings, gdb);
                            }
                            if (OnTabRefreshed != null)
                            {
                                OnTabRefreshed(Settings);
                            }
                        }
                    }
                }
                catch (Exception err) {
                    ErrorHandler.HandleException(err);
                }
            });

            database.PreviewReloaded += delegate {
                if (OnPreviewDatabaseReloaded != null)
                {
                    OnPreviewDatabaseReloaded(tab, settings, gdb);
                }
            };

            database.Reloaded += delegate {
                //if (OnPreviewTabVisualUpdate != null) OnPreviewTabVisualUpdate(tab, settings, gdb);
                //if (OnTabVisualUpdate != null) OnTabVisualUpdate(tab, settings, gdb);

                DisplayablePropertyHelper.CheckAttributeRestrictions(tab, settings, gdb);

                if (OnDatabaseReloaded != null)
                {
                    OnDatabaseReloaded(tab, settings, gdb);
                }

                if (OnTabRefreshed != null)
                {
                    OnTabRefreshed(Settings);
                }
            };

            int line = 0;

            if (OnPreviewGenerateGrid != null)
            {
                OnPreviewGenerateGrid(ref line, Settings);
            }
            if (GenerateGrid != null)
            {
                GenerateGrid(ref line, Settings);
            }
            if (OnGenerateGrid != null)
            {
                OnGenerateGrid(ref line, Settings);
            }

            settings.DisplayablePropertyMaker = generalProperties;
            settings.ClientDatabase           = database;

            if (SetSettings != null)
            {
                SetSettings(tab, settings, gdb);
            }
            if (OnSetCustomCommands != null)
            {
                OnSetCustomCommands(tab, settings, gdb);
            }
            if (OnPreviewTabInitialize != null)
            {
                OnPreviewTabInitialize(tab, settings, gdb);
            }
            tab.Initialize(settings);
            if (OnAfterTabInitialize != null)
            {
                OnAfterTabInitialize(tab, settings, gdb);
            }
            return(tab);
        }
コード例 #7
0
        private GDbTab _gDbTabMaker(GenericDatabase database, TabControl control, BaseDb gdb)
        {
            GTabSettings <TKey, ReadableTuple <TKey> >  settings = new GTabSettings <TKey, ReadableTuple <TKey> >(gdb);
            GDbTabWrapper <TKey, ReadableTuple <TKey> > tab      = new GDbTabWrapper <TKey, ReadableTuple <TKey> >();
            Table <TKey, ReadableTuple <TKey> >         table    = gdb.To <TKey>().Table;

            settings.Table   = table;
            settings.Control = control;

            InitStyle(tab, settings, gdb);
            InitAttributes(tab, settings, gdb);
            if (OnInitSettings != null)
            {
                OnInitSettings(tab, settings, gdb);
            }

            DisplayableProperty <TKey, ReadableTuple <TKey> > generalProperties = new DisplayableProperty <TKey, ReadableTuple <TKey> >();

            generalProperties.Spacing = DefaultSpacing;

            control.SelectionChanged += delegate(object sender, SelectionChangedEventArgs e) {
                if (e == null || e.RemovedItems.Count <= 0 || e.RemovedItems[0] as TabItem == null || (e.AddedItems.Count > 0 && e.AddedItems[0] as TabItem == null))
                {
                    return;
                }

                if (e.AddedItems.Count <= 0)
                {
                    return;
                }

                TabItem item = e.AddedItems[0] as TabItem;

                if (gdb.DbSource.AlternativeName != null)
                {
                    if (WpfUtilities.IsTab(item, gdb.DbSource.Filename) || WpfUtilities.IsTab(item, gdb.DbSource.AlternativeName))
                    {
                        if (generalProperties.OnTabVisible != null)
                        {
                            generalProperties.OnTabVisible(this);
                        }
                        if (OnPreviewTabVisualUpdate != null)
                        {
                            OnPreviewTabVisualUpdate(tab, settings, gdb);
                        }
                        if (OnTabVisualUpdate != null)
                        {
                            OnTabVisualUpdate(tab, settings, gdb);
                        }
                    }
                }
                else
                {
                    if (WpfUtilities.IsTab(item, gdb.DbSource))
                    {
                        if (generalProperties.OnTabVisible != null)
                        {
                            generalProperties.OnTabVisible(this);
                        }
                        if (OnPreviewTabVisualUpdate != null)
                        {
                            OnPreviewTabVisualUpdate(tab, settings, gdb);
                        }
                        if (OnTabVisualUpdate != null)
                        {
                            OnTabVisualUpdate(tab, settings, gdb);
                        }
                    }
                }
            };

            database.Reloaded += delegate {
                if (OnDatabaseReloaded != null)
                {
                    OnDatabaseReloaded(tab, settings, gdb);
                }
            };

            int line = 0;

            if (OnPreviewGenerateGrid != null)
            {
                OnPreviewGenerateGrid(ref line, database, control, generalProperties, gdb);
            }
            if (GenerateGrid != null)
            {
                GenerateGrid(ref line, database, control, generalProperties, gdb);
            }
            if (OnGenerateGrid != null)
            {
                OnGenerateGrid(ref line, database, control, generalProperties, gdb);
            }

            settings.DisplayablePropertyMaker = generalProperties;
            settings.ClientDatabase           = database;

            if (SetSettings != null)
            {
                SetSettings(tab, settings, gdb);
            }
            if (OnSetCustomCommands != null)
            {
                OnSetCustomCommands(tab, settings, gdb);
            }
            if (OnPreviewTabInitialize != null)
            {
                OnPreviewTabInitialize(tab, settings, gdb);
            }
            tab.Initialize(settings);
            return(tab);
        }