本文整理汇总了C#中TabControl.SelectTab方法的典型用法代码示例。如果您正苦于以下问题:C# TabControl.SelectTab方法的具体用法?C# TabControl.SelectTab怎么用?C# TabControl.SelectTab使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TabControl
的用法示例。
在下文中一共展示了TabControl.SelectTab方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateSideTabsAndPages
//.........这里部分代码省略.........
if (subGroup.Name == "Extruder X")
{
numberOfCopies = ActiveSliceSettings.Instance.ExtruderCount;
}
for (int copyIndex = 0; copyIndex < numberOfCopies; copyIndex++)
{
if (subGroup.Name == "Extruder X")
{
subGroupTitle = "{0} {1}".FormatWith("Extruder".Localize(), copyIndex + 1);
}
bool addedSettingToSubGroup = false;
FlowLayoutWidget topToBottomSettings = new FlowLayoutWidget(FlowDirection.TopToBottom);
topToBottomSettings.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
foreach (OrganizerSettingsData settingInfo in subGroup.SettingDataList)
{
if (ActivePrinterProfile.Instance.ActiveSliceEngine.MapContains(settingInfo.SlicerConfigName))
{
addedSettingToSubGroup = true;
GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, minSettingNameWidth, copyIndex);
topToBottomSettings.AddChild(controlsForThisSetting);
if (sliceSettingsDetailControl.ShowingHelp)
{
AddInHelpText(topToBottomSettings, settingInfo);
}
}
}
if (addedSettingToSubGroup)
{
needToAddSubGroup = true;
string groupBoxLabel = subGroupTitle;
AltGroupBox groupBox = new AltGroupBox(groupBoxLabel);
groupBox.TextColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.AddChild(topToBottomSettings);
groupBox.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
groupBox.Margin = new BorderDouble(3, 3, 3, 0);
subGroupLayoutTopToBottom.AddChild(groupBox);
}
}
}
if (needToAddSubGroup)
{
SliceSettingListControl scrollOnGroupTab = new SliceSettingListControl();
subGroupLayoutTopToBottom.VAnchor = VAnchor.FitToChildren;
subGroupLayoutTopToBottom.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
scrollOnGroupTab.AddChild(subGroupLayoutTopToBottom);
groupTabPage.AddChild(scrollOnGroupTab);
groupTabs.AddTab(groupTabWidget);
// Make sure we have the right scroll position when we create this view
// This code is not working yet. Scroll widgets get a scroll event when the tab becomes visible that is always reseting them.
// So it is not usefull to enable this and in fact makes the tabs inconsistently scrolled. It is just here for reference. // 2015 04 16, LBB
if(false)
{
string settingsScrollPosition = "SliceSettingsWidget_{0}_{1}_ScrollPosition".FormatWith(category.Name, group.Name);
UiThread.RunOnIdle(()=>
{
int scrollPosition = UserSettings.Instance.Fields.GetInt(settingsScrollPosition, -100000);
if (scrollPosition != -100000)
{
scrollOnGroupTab.ScrollPosition = new Vector2(0, scrollPosition);
}
});
scrollOnGroupTab.ScrollPositionChanged += (object sender, EventArgs e) =>
{
if (scrollOnGroupTab.CanSelect)
{
UserSettings.Instance.Fields.SetInt(settingsScrollPosition, (int)scrollOnGroupTab.ScrollPosition.y);
}
};
}
}
}
// Make sure we are on the right tab when we create this view
{
string settingsTypeName = "SliceSettingsWidget_{0}_CurrentTab".FormatWith(category.Name);
string selectedTab = UserSettings.Instance.get(settingsTypeName);
groupTabs.SelectTab(selectedTab);
groupTabs.TabBar.TabIndexChanged += (object sender, EventArgs e) =>
{
UserSettings.Instance.set(settingsTypeName, groupTabs.TabBar.SelectedTabName);
};
}
return groupTabs;
}
示例2: CreateNewAdvancedControls
private TabControl CreateNewAdvancedControls(EventHandler AdvancedControlsButton_Click)
{
TabControl advancedControls = new TabControl();
BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
advancedControls.TabBar.BorderColor = ActiveTheme.Instance.SecondaryTextColor;
advancedControls.TabBar.Margin = new BorderDouble(0, 0);
advancedControls.TabBar.Padding = new BorderDouble(0, 2);
int textSize = 16;
if (AdvancedControlsButton_Click != null)
{
// this means we are in compact view and so we will make the tabs text a bit smaller
textSize = 14;
TextImageButtonFactory advancedControlsButtonFactory = new TextImageButtonFactory();
advancedControlsButtonFactory.fontSize = 14;
advancedControlsButtonFactory.invertImageLocation = false;
advancedControlsBackButton = advancedControlsButtonFactory.Generate(LocalizedString.Get("Back"), "icon_arrow_left_32x32.png");
advancedControlsBackButton.ToolTipText = "Switch to Queue, Library and History".Localize();
advancedControlsBackButton.Margin = new BorderDouble(right: 3);
advancedControlsBackButton.VAnchor = VAnchor.ParentBottom;
advancedControlsBackButton.Cursor = Cursors.Hand;
advancedControlsBackButton.Click += new EventHandler(AdvancedControlsButton_Click);
advancedControls.TabBar.AddChild(advancedControlsBackButton);
}
GuiWidget hSpacer = new GuiWidget();
hSpacer.HAnchor = HAnchor.ParentLeftRight;
advancedControls.TabBar.AddChild(hSpacer);
GuiWidget manualPrinterControls = new ManualPrinterControls();
ScrollableWidget manualPrinterControlsScrollArea = new ScrollableWidget(true);
manualPrinterControlsScrollArea.ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight;
manualPrinterControlsScrollArea.AnchorAll();
manualPrinterControlsScrollArea.AddChild(manualPrinterControls);
RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected;
//Add the tab contents for 'Advanced Controls'
string sliceSettingsLabel = LocalizedString.Get("Settings").ToUpper();
string printerControlsLabel = LocalizedString.Get("Controls").ToUpper();
sliceSettingsWidget = new SliceSettingsWidget();
TabPage sliceSettingsTabPage = new TabPage(sliceSettingsWidget, sliceSettingsLabel);
PopOutTextTabWidget sliceSettingPopOut = new PopOutTextTabWidget(sliceSettingsTabPage, SliceSettingsTabName, new Vector2(590, 400), textSize);
advancedControls.AddTab(sliceSettingPopOut);
TabPage controlsTabPage = new TabPage(manualPrinterControlsScrollArea, printerControlsLabel);
PopOutTextTabWidget controlsPopOut = new PopOutTextTabWidget(controlsTabPage, ControlsTabName, new Vector2(400, 300), textSize);
advancedControls.AddTab(controlsPopOut);
#if !__ANDROID__
MenuOptionSettings.sliceSettingsPopOut = sliceSettingPopOut;
MenuOptionSettings.controlsPopOut = controlsPopOut;
#endif
string optionsLabel = LocalizedString.Get("Options").ToUpper();
ScrollableWidget configurationControls = new PrinterConfigurationScrollWidget();
advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(configurationControls, optionsLabel), "Configuration Tab", textSize,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
// Make sure we are on the right tab when we create this view
{
string selectedTab = UserSettings.Instance.get(ThirdPanelTabView_AdvancedControls_CurrentTab);
advancedControls.SelectTab(selectedTab);
advancedControls.TabBar.TabIndexChanged += (object sender, EventArgs e) =>
{
UserSettings.Instance.set(ThirdPanelTabView_AdvancedControls_CurrentTab, advancedControls.TabBar.SelectedTabName);
};
}
return advancedControls;
}
示例3: SliceSettingsWidget
//.........这里部分代码省略.........
settingsSaveBar = new SliceSettingsSaveBar();
settingsSaveBar.Visible = false;
pageTopToBottomLayout.AddChild(settingsSaveBar);
noConnectionMessageContainer = new AltGroupBox(new TextWidget(LocalizedString.Get("No Printer Selected"), pointSize: 18, textColor: ActiveTheme.Instance.SecondaryAccentColor));
noConnectionMessageContainer.Margin = new BorderDouble(top: 10);
noConnectionMessageContainer.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
noConnectionMessageContainer.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
noConnectionMessageContainer.Height = 90;
string noConnectionString = LocalizedString.Get("No printer is currently selected. Please select a printer to edit slice settings.");
noConnectionString += "\n\n" + LocalizedString.Get("NOTE: You need to select a printer, but do not need to connect to it.");
TextWidget noConnectionMessage = new TextWidget(noConnectionString, pointSize: 10);
noConnectionMessage.Margin = new BorderDouble(5);
noConnectionMessage.TextColor = ActiveTheme.Instance.PrimaryTextColor;
noConnectionMessage.VAnchor = VAnchor.ParentCenter;
noConnectionMessageContainer.AddChild(noConnectionMessage);
pageTopToBottomLayout.AddChild(noConnectionMessageContainer);
categoryTabs = new TabControl();
categoryTabs.TabBar.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
categoryTabs.Margin = new BorderDouble(top: 8);
categoryTabs.AnchorAll();
sliceSettingsDetailControl = new SliceSettingsDetailControl();
List<TabBar> sideTabBarsListForLayout = new List<TabBar>();
for (int categoryIndex = 0; categoryIndex < SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList.Count; categoryIndex++)
{
OrganizerCategory category = SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList[categoryIndex];
string categoryPageLabel = LocalizedString.Get(category.Name);
TabPage categoryPage = new TabPage(categoryPageLabel);
SimpleTextTabWidget textTabWidget = new SimpleTextTabWidget(categoryPage, category.Name + " Tab", 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
categoryPage.AnchorAll();
categoryTabs.AddTab(textTabWidget);
TabControl sideTabs = CreateSideTabsAndPages(minSettingNameWidth, category);
sideTabBarsListForLayout.Add(sideTabs.TabBar);
categoryPage.AddChild(sideTabs);
}
categoryTabs.TabBar.AddChild(new HorizontalSpacer());
categoryTabs.TabBar.AddChild(sliceSettingsDetailControl);
if (sliceSettingsDetailControl.SelectedValue == "Advanced" && ActivePrinterProfile.Instance.ActiveSliceEngineType == ActivePrinterProfile.SlicingEngineTypes.Slic3r)
{
TabPage extraSettingsPage = new TabPage("Other");
SimpleTextTabWidget extraSettingsTextTabWidget = new SimpleTextTabWidget(extraSettingsPage, "Other Tab", 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
extraSettingsPage.AnchorAll();
int count;
TabControl extraSettingsSideTabs = CreateExtraSettingsSideTabsAndPages(minSettingNameWidth, categoryTabs, out count);
if (count > 0)
{
categoryTabs.AddTab(extraSettingsTextTabWidget);
sideTabBarsListForLayout.Add(extraSettingsSideTabs.TabBar);
extraSettingsPage.AddChild(extraSettingsSideTabs);
}
}
double sideTabBarsMinimumWidth = 0;
foreach (TabBar tabBar in sideTabBarsListForLayout)
{
sideTabBarsMinimumWidth = Math.Max(sideTabBarsMinimumWidth, tabBar.Width);
}
foreach (TabBar tabBar in sideTabBarsListForLayout)
{
tabBar.MinimumSize = new Vector2(sideTabBarsMinimumWidth, tabBar.MinimumSize.y);
}
if (sideTabBarsListForLayout.Count == 1)
{
sideTabBarsListForLayout[0].MinimumSize = new Vector2(0, 0);
sideTabBarsListForLayout[0].Width = 0;
}
pageTopToBottomLayout.AddChild(categoryTabs);
AddHandlers();
SetVisibleControls();
// Make sure we are on the right tab when we create this view
{
string settingsName = "SliceSettingsWidget_CurrentTab";
string selectedTab = UserSettings.Instance.get(settingsName);
categoryTabs.SelectTab(selectedTab);
categoryTabs.TabBar.TabIndexChanged += (object sender, EventArgs e) =>
{
UserSettings.Instance.set(settingsName, categoryTabs.TabBar.SelectedTabName);
};
}
this.AnchorAll();
SetStatusDisplay();
}
示例4: SliceSettingsWidget
//.........这里部分代码省略.........
noConnectionMessageContainer.Height = 90;
string noConnectionString = "No printer is currently selected. Please select a printer to edit slice settings.".Localize();
noConnectionString += "\n\n" + "NOTE: You need to select a printer, but do not need to connect to it.".Localize();
TextWidget noConnectionMessage = new TextWidget(noConnectionString, pointSize: 10);
noConnectionMessage.Margin = new BorderDouble(5);
noConnectionMessage.TextColor = ActiveTheme.Instance.PrimaryTextColor;
noConnectionMessage.VAnchor = VAnchor.ParentCenter;
noConnectionMessageContainer.AddChild(noConnectionMessage);
pageTopToBottomLayout.AddChild(noConnectionMessageContainer);
topCategoryTabs = new TabControl();
topCategoryTabs.TabBar.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
topCategoryTabs.Margin = new BorderDouble(top: 8);
topCategoryTabs.AnchorAll();
sliceSettingsDetailControl = new SliceSettingsDetailControl(layerCascade);
List<TabBar> sideTabBarsListForLayout = new List<TabBar>();
for (int topCategoryIndex = 0; topCategoryIndex < SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList.Count; topCategoryIndex++)
{
OrganizerCategory category = SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList[topCategoryIndex];
string categoryPageLabel = category.Name.Localize();
TabPage categoryPage = new TabPage(categoryPageLabel);
SimpleTextTabWidget textTabWidget = new SimpleTextTabWidget(categoryPage, category.Name + " Tab", 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
categoryPage.AnchorAll();
topCategoryTabs.AddTab(textTabWidget);
TabControl sideTabs = CreateSideTabsAndPages(category);
sideTabBarsListForLayout.Add(sideTabs.TabBar);
categoryPage.AddChild(sideTabs);
}
topCategoryTabs.TabBar.AddChild(new HorizontalSpacer());
topCategoryTabs.TabBar.AddChild(sliceSettingsDetailControl);
if (sliceSettingsDetailControl.SelectedValue == "Advanced" && ActiveSliceSettings.Instance.Helpers.ActiveSliceEngineType() == SlicingEngineTypes.Slic3r)
{
TabPage extraSettingsPage = new TabPage("Other");
SimpleTextTabWidget extraSettingsTextTabWidget = new SimpleTextTabWidget(extraSettingsPage, "Other Tab", 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
extraSettingsPage.AnchorAll();
int count;
TabControl extraSettingsSideTabs = CreateExtraSettingsSideTabsAndPages(topCategoryTabs, out count);
if (count > 0)
{
topCategoryTabs.AddTab(extraSettingsTextTabWidget);
sideTabBarsListForLayout.Add(extraSettingsSideTabs.TabBar);
extraSettingsPage.AddChild(extraSettingsSideTabs);
}
}
double sideTabBarsMinimumWidth = 0;
foreach (TabBar tabBar in sideTabBarsListForLayout)
{
sideTabBarsMinimumWidth = Math.Max(sideTabBarsMinimumWidth, tabBar.Width);
}
foreach (TabBar tabBar in sideTabBarsListForLayout)
{
tabBar.MinimumSize = new Vector2(sideTabBarsMinimumWidth, tabBar.MinimumSize.y);
}
// check if there is only one left side tab. If so hide the left tabs and expand the content.
foreach(var tabList in sideTabBarsListForLayout)
{
if(tabList.CountVisibleChildren() == 1)
{
tabList.MinimumSize = new Vector2(0, 0);
tabList.Width = 0;
}
}
pageTopToBottomLayout.AddChild(topCategoryTabs);
AddHandlers();
SetVisibleControls();
// Make sure we are on the right tab when we create this view
{
string settingsName = "SliceSettingsWidget_CurrentTab";
string selectedTab = UserSettings.Instance.get(settingsName);
topCategoryTabs.SelectTab(selectedTab);
topCategoryTabs.TabBar.TabIndexChanged += (object sender, EventArgs e) =>
{
string selectedTabName = topCategoryTabs.TabBar.SelectedTabName;
if (!string.IsNullOrEmpty(selectedTabName))
{
if (layerCascade == null)
{
UserSettings.Instance.set(settingsName, selectedTabName);
}
}
};
}
this.AnchorAll();
}
示例5: CreateAdvancedControlsTab
private TabControl CreateAdvancedControlsTab()
{
TabControl advancedControls = new TabControl();
BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
advancedControls.TabBar.BorderColor = ActiveTheme.Instance.SecondaryTextColor;
advancedControls.TabBar.Margin = new BorderDouble(0, 0);
advancedControls.TabBar.Padding = new BorderDouble(0, 2);
int textSize = 16;
// this means we are in compact view and so we will make the tabs text a bit smaller
textSize = 14;
TextImageButtonFactory advancedControlsButtonFactory = new TextImageButtonFactory();
advancedControlsButtonFactory.fontSize = 14;
advancedControlsButtonFactory.invertImageLocation = false;
backButton = advancedControlsButtonFactory.Generate(LocalizedString.Get("Back"), StaticData.Instance.LoadIcon("icon_arrow_left_32x32.png", 32,32));
backButton.ToolTipText = "Switch to Queue, Library and History".Localize();
backButton.Margin = new BorderDouble(right: 3);
backButton.VAnchor = VAnchor.ParentBottom;
backButton.Cursor = Cursors.Hand;
backButton.Click += (s, e) => BackClicked?.Invoke(this, null);
advancedControls.TabBar.AddChild(backButton);
advancedControls.TabBar.AddChild(new HorizontalSpacer());
GuiWidget manualPrinterControls = new ManualPrinterControls();
ScrollableWidget manualPrinterControlsScrollArea = new ScrollableWidget(true);
manualPrinterControlsScrollArea.ScrollArea.HAnchor |= HAnchor.ParentLeftRight;
manualPrinterControlsScrollArea.AnchorAll();
manualPrinterControlsScrollArea.AddChild(manualPrinterControls);
RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected;
if (ActiveSliceSettings.Instance.PrinterSelected)
{
sliceSettingsWidget = new SliceSettingsWidget();
}
else
{
sliceSettingsWidget = new NoSettingsWidget();
}
var sliceSettingsTabPage = new TabPage(sliceSettingsWidget, "Settings".Localize().ToUpper());
var sliceSettingPopOut = new PopOutTextTabWidget(sliceSettingsTabPage, SliceSettingsTabName, new Vector2(590, 400), textSize);
advancedControls.AddTab(sliceSettingPopOut);
var controlsTabPage = new TabPage(manualPrinterControlsScrollArea, "Controls".Localize().ToUpper());
var controlsPopOut = new PopOutTextTabWidget(controlsTabPage, ControlsTabName, new Vector2(400, 300), textSize);
advancedControls.AddTab(controlsPopOut);
#if !__ANDROID__
MenuOptionSettings.sliceSettingsPopOut = sliceSettingPopOut;
MenuOptionSettings.controlsPopOut = controlsPopOut;
#endif
var optionsControls = new PrinterConfigurationScrollWidget();
advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(optionsControls, "Options".Localize().ToUpper()), "Options Tab", textSize,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
// Make sure we are on the right tab when we create this view
{
string selectedTab = UserSettings.Instance.get(ThirdPanelTabView_AdvancedControls_CurrentTab);
advancedControls.SelectTab(selectedTab);
advancedControls.TabBar.TabIndexChanged += (sender, e) =>
{
string selectedTabName = advancedControls.TabBar.SelectedTabName;
if (!string.IsNullOrEmpty(selectedTabName))
{
UserSettings.Instance.set(ThirdPanelTabView_AdvancedControls_CurrentTab, selectedTabName);
}
};
}
return advancedControls;
}
示例6: CreateSideTabsAndPages
private TabControl CreateSideTabsAndPages(int minSettingNameWidth, OrganizerCategory category, UiState uiState)
{
TabControl groupTabs = new TabControl(Orientation.Vertical);
groupTabs.Margin = new BorderDouble(0, 0, 0, 5);
groupTabs.TabBar.BorderColor = RGBA_Bytes.White;
foreach (OrganizerGroup group in category.GroupsList)
{
tabIndexForItem = 0;
string groupTabLbl = new LocalizedString (group.Name).Translated;
TabPage groupTabPage = new TabPage(groupTabLbl);
SimpleTextTabWidget groupTabWidget = new SimpleTextTabWidget(groupTabPage, 14,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
FlowLayoutWidget subGroupLayoutTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom);
subGroupLayoutTopToBottom.AnchorAll();
bool needToAddSubGroup = false;
foreach (OrganizerSubGroup subGroup in group.SubGroupsList)
{
bool addedSettingToSubGroup = false;
FlowLayoutWidget topToBottomSettings = new FlowLayoutWidget(FlowDirection.TopToBottom);
topToBottomSettings.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
foreach (OrganizerSettingsData settingInfo in subGroup.SettingDataList)
{
if (ActivePrinterProfile.Instance.ActiveSliceEngine.MapContains(settingInfo.SlicerConfigName))
{
addedSettingToSubGroup = true;
GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, minSettingNameWidth);
topToBottomSettings.AddChild(controlsForThisSetting);
if (showHelpBox.Checked)
{
AddInHelpText(topToBottomSettings, settingInfo);
}
}
}
if (addedSettingToSubGroup)
{
needToAddSubGroup = true;
string groupBoxLbl = new LocalizedString (subGroup.Name).Translated;
GroupBox groupBox = new GroupBox (groupBoxLbl);
groupBox.TextColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.AddChild(topToBottomSettings);
groupBox.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
subGroupLayoutTopToBottom.AddChild(groupBox);
}
}
if (needToAddSubGroup)
{
ScrollableWidget scrollOnGroupTab = new ScrollableWidget(true);
scrollOnGroupTab.AnchorAll();
subGroupLayoutTopToBottom.HAnchor = HAnchor.Max_FitToChildren_ParentWidth;
subGroupLayoutTopToBottom.VAnchor = VAnchor.FitToChildren;
//subGroupLayoutTopToBottom.DebugShowBounds = true;
//scrollOnGroupTab.DebugShowBounds = true;
scrollOnGroupTab.AddChild(subGroupLayoutTopToBottom);
groupTabPage.AddChild(scrollOnGroupTab);
groupTabs.AddTab(groupTabWidget);
}
}
if (!groupTabs.SelectTab(uiState.selectedGroup.name))
{
groupTabs.SelectTab(uiState.selectedGroup.index);
}
return groupTabs;
}
示例7: AddControls
//.........这里部分代码省略.........
noConnectionMessageContainer.Margin = new BorderDouble(top: 10);
noConnectionMessageContainer.TextColor = ActiveTheme.Instance.PrimaryTextColor;
noConnectionMessageContainer.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
noConnectionMessageContainer.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
noConnectionMessageContainer.Height = 80;
TextWidget noConnectionMessage = new TextWidget(new LocalizedString("No printer is currently selected. Select printer to edit slice settings.").Translated);
noConnectionMessage.Margin = new BorderDouble(5);
noConnectionMessage.TextColor = ActiveTheme.Instance.PrimaryTextColor;
noConnectionMessage.VAnchor = VAnchor.ParentCenter;
noConnectionMessageContainer.AddChild(noConnectionMessage);
pageTopToBottomLayout.AddChild(noConnectionMessageContainer);
categoryTabs = new TabControl();
categoryTabs.TabBar.BorderColor = RGBA_Bytes.White;
categoryTabs.Margin = new BorderDouble(top: 8);
categoryTabs.AnchorAll();
List<TabBar> sideTabBarsListForLayout = new List<TabBar>();
for (int categoryIndex = 0; categoryIndex < SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList.Count; categoryIndex++)
{
OrganizerCategory category = SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList[categoryIndex];
string categoryPageLbl = new LocalizedString (category.Name).Translated;
TabPage categoryPage = new TabPage(categoryPageLbl);
SimpleTextTabWidget textTabWidget = new SimpleTextTabWidget(categoryPage, 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
categoryPage.AnchorAll();
categoryTabs.AddTab(textTabWidget);
TabControl sideTabs = CreateSideTabsAndPages(minSettingNameWidth, category, uiState);
sideTabBarsListForLayout.Add(sideTabs.TabBar);
categoryPage.AddChild(sideTabs);
}
if (showAllDetails.Checked && ActivePrinterProfile.Instance.ActiveSliceEngineType == ActivePrinterProfile.SlicingEngineTypes.Slic3r)
{
TabPage extraSettingsPage = new TabPage("Other");
SimpleTextTabWidget extraSettingsTextTabWidget = new SimpleTextTabWidget(extraSettingsPage, 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
extraSettingsPage.AnchorAll();
int count;
TabControl extraSettingsSideTabs = CreateExtraSettingsSideTabsAndPages(minSettingNameWidth, categoryTabs, out count);
if (count > 0)
{
categoryTabs.AddTab(extraSettingsTextTabWidget);
sideTabBarsListForLayout.Add(extraSettingsSideTabs.TabBar);
extraSettingsPage.AddChild(extraSettingsSideTabs);
}
}
double sideTabBarsMinimumWidth = 0;
foreach (TabBar tabBar in sideTabBarsListForLayout)
{
sideTabBarsMinimumWidth = Math.Max(sideTabBarsMinimumWidth, tabBar.Width);
}
foreach (TabBar tabBar in sideTabBarsListForLayout)
{
tabBar.MinimumSize = new Vector2(sideTabBarsMinimumWidth, tabBar.MinimumSize.y);
}
// space before checkboxes (hold the right aligned)
{
GuiWidget hSpacer = new GuiWidget();
hSpacer.HAnchor = HAnchor.ParentLeftRight;
categoryTabs.TabBar.AddChild(hSpacer);
}
// add in the ability to turn on and off all details settings
{
showAllDetails.TextColor = RGBA_Bytes.White;
showAllDetails.Margin = new BorderDouble(right: 8);
showAllDetails.VAnchor = VAnchor.ParentCenter;
showAllDetails.Cursor = Cursors.Hand;
showAllDetails.CheckedStateChanged += new CheckBox.CheckedStateChangedEventHandler(RebuildSlicerSettings);
categoryTabs.TabBar.AddChild(showAllDetails);
}
// add in the ability to turn on and off help text
{
showHelpBox.TextColor = RGBA_Bytes.White;
showHelpBox.Margin = new BorderDouble(right: 3);
showHelpBox.VAnchor = VAnchor.ParentCenter;
showHelpBox.Cursor = Cursors.Hand;
showHelpBox.CheckedStateChanged += new CheckBox.CheckedStateChangedEventHandler(RebuildSlicerSettings);
categoryTabs.TabBar.AddChild(showHelpBox);
}
pageTopToBottomLayout.AddChild(categoryTabs);
AddHandlers();
SetVisibleControls();
if (!categoryTabs.SelectTab(uiState.selectedCategory.name))
{
categoryTabs.SelectTab(uiState.selectedCategory.index);
}
}