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())); }
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); } } }; }
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); } }
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; } })); }
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); } }
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); }
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); }