本文整理汇总了C#中TabControl.AddTab方法的典型用法代码示例。如果您正苦于以下问题:C# TabControl.AddTab方法的具体用法?C# TabControl.AddTab怎么用?C# TabControl.AddTab使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TabControl
的用法示例。
在下文中一共展示了TabControl.AddTab方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PageLocomotiveProperties
public PageLocomotiveProperties(Locomotive locomotive)
{
this.locomotive = locomotive;
StackPanel panel = new StackPanel(Orientation.Vertical);
Child = panel;
tabs = new TabControl();
tabs.AddTab(CreateTabCommon());
tabs.AddTab(CreateTabFunctions());
panel.Children.Add(tabs);
StackPanel panelBottom = new StackPanel(Orientation.Horizontal);
panelBottom.HorizontalAlignment = HorizontalAlignment.Center;
panel.Children.Add(panelBottom);
Button btnSave = new Button(Program.FontRegular, "Сохранить", Resources.GetBitmap(Resources.BitmapResources.Save), Program.ButtonTextColor);
btnSave.SetMargin(2);
btnSave.VerticalAlignment = VerticalAlignment.Bottom;
btnSave.HorizontalAlignment = HorizontalAlignment.Center;
btnSave.Background = Program.ButtonBackground;
btnSave.Clicked += new EventHandler(btnSave_Clicked);
panelBottom.Children.Add(btnSave);
tabs.Height = panel.Parent.Height - btnSave.Height - 8;
ucWriteBlock writeBlock = new ucWriteBlock();
writeBlock.VerticalAlignment = VerticalAlignment.Bottom;
writeBlock.HorizontalAlignment = HorizontalAlignment.Center;
writeBlock.SetMargin(5, 0, 0, 0);
writeBlock.WriteClicked += new EventHandler(writeBlock_WriteClicked);
panelBottom.Children.Add(writeBlock);
LoadValues();
}
示例2: CreatePopulatedTabControl
private TabControl CreatePopulatedTabControl(Orientation orientation)
{
TabControl tabControl = new TabControl(orientation);
{
TabPage page1 = new TabPage("Page 1");
page1.Padding = new BorderDouble(5);
tabControl.AddTab(page1, "Page 1");
tabControl.AddTab(new TabPage("Page 2"), "Page 2");
tabControl.AddTab(new TabPage("Page 3"), "Page 3");
}
return tabControl;
}
示例3: PartPreviewMainWindow
//PartPreview3DGcode part3DGcodeView;
public PartPreviewMainWindow(PrintItemWrapper printItem)
: base(690, 340)
{
string partPreviewTitle = new LocalizedString ("MatterControl").Translated;
Title = string.Format("{0}: ", partPreviewTitle) + Path.GetFileName(printItem.Name);
BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
TabControl tabControl = new TabControl();
tabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0);
tabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
double buildHeight = ActiveSliceSettings.Instance.BuildHeight;
string part3DViewLblBeg = ("3D");
string part3DViewLblEnd = new LocalizedString ("View").Translated;
string part3DViewLblFull = string.Format("{0} {1} ", part3DViewLblBeg, part3DViewLblEnd);
part3DView = new View3DTransformPart(printItem, new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedShape);
TabPage partPreview3DView = new TabPage(part3DView, part3DViewLblFull);
partGcodeView = new GcodeViewBasic(printItem, ActiveSliceSettings.Instance.GetBedSize, ActiveSliceSettings.Instance.GetBedCenter);
TabPage layerView = new TabPage(partGcodeView, new LocalizedString("Layer View").Translated);
//part3DGcodeView = new PartPreview3DGcode(printItem.FileLocation, bedXSize, bedYSize);
tabControl.AddTab(new SimpleTextTabWidget(partPreview3DView , 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()));
tabControl.AddTab(new SimpleTextTabWidget(layerView, 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()));
this.AddChild(tabControl);
this.AnchorAll();
AddHandlers();
Width = 640;
Height = 480;
ShowAsSystemWindow();
MinimumSize = new Vector2(400, 300);
// We do this after showing the system window so that when we try and take fucus the parent window (the system window)
// exists and can give the fucus to its child the gecode window.
if (Path.GetExtension(printItem.FileLocation).ToUpper() == ".GCODE")
{
tabControl.TabBar.SwitchToPage(layerView);
partGcodeView.Focus();
}
}
示例4: 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;
}
示例5: Load
private void Load(PrintItemWrapper printItem)
{
tabControl = new TabControl();
tabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0);
tabControl.TabBar.Padding = new BorderDouble(top: 6);
RGBA_Bytes selectedTabColor;
if (ActiveTheme.Instance.DisplayMode == ActiveTheme.ApplicationDisplayType.Responsive)
{
tabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
selectedTabColor = ActiveTheme.Instance.TabLabelSelected;
}
else
{
tabControl.TabBar.BackgroundColor = ActiveTheme.Instance.TransparentLightOverlay;
selectedTabColor = ActiveTheme.Instance.SecondaryAccentColor;
}
double buildHeight = ActiveSliceSettings.Instance.BuildHeight;
// put in the 3D view
partPreviewView = new View3DWidget(printItem,
new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight),
ActiveSliceSettings.Instance.BedCenter,
ActiveSliceSettings.Instance.BedShape,
windowMode,
autoRotate3DView,
openMode);
TabPage partPreview3DView = new TabPage(partPreviewView, string.Format("3D {0} ", "View".Localize()).ToUpper());
// put in the gcode view
ViewGcodeBasic.WindowMode gcodeWindowMode = ViewGcodeBasic.WindowMode.Embeded;
if (windowMode == View3DWidget.WindowMode.StandAlone)
{
gcodeWindowMode = ViewGcodeBasic.WindowMode.StandAlone;
}
viewGcodeBasic = new ViewGcodeBasic(printItem,
new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight),
ActiveSliceSettings.Instance.BedCenter,
ActiveSliceSettings.Instance.BedShape, gcodeWindowMode);
if (windowMode == View3DWidget.WindowMode.StandAlone)
{
partPreviewView.Closed += (s, e) => Close();
viewGcodeBasic.Closed += (s, e) => Close();
}
layerView = new TabPage(viewGcodeBasic, LocalizedString.Get("Layer View").ToUpper());
int tabPointSize = 16;
// add the correct tabs based on whether we are stand alone or embedded
Tab threeDViewTab;
Tab layerViewTab;
if (windowMode == View3DWidget.WindowMode.StandAlone || OsInformation.OperatingSystem == OSType.Android)
{
threeDViewTab = new SimpleTextTabWidget(partPreview3DView, "3D View Tab", tabPointSize,
selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
tabControl.AddTab(threeDViewTab);
layerViewTab = new SimpleTextTabWidget(layerView, "Layer View Tab", tabPointSize,
selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
tabControl.AddTab(layerViewTab);
}
else
{
threeDViewTab = new PopOutTextTabWidget(partPreview3DView, "3D View Tab", new Vector2(590, 400), tabPointSize);
tabControl.AddTab(threeDViewTab);
layerViewTab = new PopOutTextTabWidget(layerView, "Layer View Tab", new Vector2(590, 400), tabPointSize);
tabControl.AddTab(layerViewTab);
}
threeDViewTab.ToolTipText = "Preview 3D Design".Localize();
layerViewTab.ToolTipText = "Preview layer Tool Paths".Localize();
this.AddChild(tabControl);
}
示例6: CreateSideTabsAndPages
private TabControl CreateSideTabsAndPages(int minSettingNameWidth, OrganizerCategory category)
{
TabControl groupTabs = new TabControl(Orientation.Vertical);
groupTabs.Margin = new BorderDouble(0, 0, 0, 5);
groupTabs.TabBar.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
foreach (OrganizerGroup group in category.GroupsList)
{
tabIndexForItem = 0;
string groupTabLabel = LocalizedString.Get(group.Name);
TabPage groupTabPage = new TabPage(groupTabLabel);
groupTabPage.HAnchor = HAnchor.ParentLeftRight;
SimpleTextTabWidget groupTabWidget = new SimpleTextTabWidget(groupTabPage, group.Name + " Tab", 14,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
groupTabWidget.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
FlowLayoutWidget subGroupLayoutTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom);
subGroupLayoutTopToBottom.AnchorAll();
bool needToAddSubGroup = false;
foreach (OrganizerSubGroup subGroup in group.SubGroupsList)
{
string subGroupTitle = subGroup.Name;
int numberOfCopies = 1;
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) =>
//.........这里部分代码省略.........
示例7: CreateExtraSettingsSideTabsAndPages
private TabControl CreateExtraSettingsSideTabsAndPages(int minSettingNameWidth, TabControl categoryTabs, out int count)
{
count = 0;
TabControl sideTabs = new TabControl(Orientation.Vertical);
sideTabs.Margin = new BorderDouble(0, 0, 0, 5);
sideTabs.TabBar.BorderColor = RGBA_Bytes.White;
{
TabPage groupTabPage = new TabPage("Extra Settings");
SimpleTextTabWidget groupTabWidget = new SimpleTextTabWidget(groupTabPage, "Extra Settings Tab", 14,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
sideTabs.AddTab(groupTabWidget);
FlowLayoutWidget subGroupLayoutTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom);
subGroupLayoutTopToBottom.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
subGroupLayoutTopToBottom.VAnchor = VAnchor.FitToChildren;
FlowLayoutWidget topToBottomSettings = new FlowLayoutWidget(FlowDirection.TopToBottom);
topToBottomSettings.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
foreach (KeyValuePair<string, DataStorage.SliceSetting> item in ActiveSliceSettings.Instance.DefaultSettings)
{
if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, item.Key))
{
OrganizerSettingsData settingInfo = new OrganizerSettingsData(item.Key, item.Key, OrganizerSettingsData.DataEditTypes.STRING);
GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, minSettingNameWidth, 0);
topToBottomSettings.AddChild(controlsForThisSetting);
count++;
}
}
AltGroupBox groupBox = new AltGroupBox(LocalizedString.Get("Extra"));
groupBox.TextColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.AddChild(topToBottomSettings);
groupBox.VAnchor = VAnchor.FitToChildren;
groupBox.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
subGroupLayoutTopToBottom.AddChild(groupBox);
SliceSettingListControl scrollOnGroupTab = new SliceSettingListControl();
scrollOnGroupTab.AnchorAll();
scrollOnGroupTab.AddChild(subGroupLayoutTopToBottom);
groupTabPage.AddChild(scrollOnGroupTab);
}
return sideTabs;
}
示例8: GuiTester
public GuiTester()
{
mainNavigationTabControl = new TabControl(Orientation.Vertical);
mainNavigationTabControl.AddTab(new MenuPage(), "MenuPage");
#if true
mainNavigationTabControl.AddTab(new TextEditPage(), "TextEditPage");
mainNavigationTabControl.AddTab(new SplitterPage(), "SplitterPage");
mainNavigationTabControl.AddTab(new LayoutPage(), "LayoutPage");
mainNavigationTabControl.AddTab(new ButtonsPage(), "ButtonsPage");
mainNavigationTabControl.AddTab(new ScrollableWidgetTestPage(), "ScrollableWidgetTestPage");
mainNavigationTabControl.AddTab(new AnchorCenterButtonsTestPAge(), "AnchorCenterButtonsTestPAge");
mainNavigationTabControl.AddTab(new TabPagesPage(), "TabPagesPage");
mainNavigationTabControl.AddTab(new ListBoxPage(), "ListBoxPage");
mainNavigationTabControl.AddTab(new ButtonAnchorTestPage(), "ButtonAnchorTestPage");
mainNavigationTabControl.AddTab(new AnchorTestsPage(), "AnchorTestsPage");
mainNavigationTabControl.AddTab(new WindowPage(), "WindowPage");
mainNavigationTabControl.AddTab(new SliderControlsPage(), "SliderControlsPage");
mainNavigationTabControl.AddTab(new TabPage(new FontInfoWidget(), "Fonts"), "Fonts");
#endif
this.AddChild(mainNavigationTabControl);
AnchorAll();
}
示例9: SliceSettingsWidget
public SliceSettingsWidget()
{
int minSettingNameWidth = (int)(190 * TextWidget.GlobalPointSizeScaleRatio + .5);
buttonFactory.FixedHeight = 20 * TextWidget.GlobalPointSizeScaleRatio;
buttonFactory.fontSize = 10;
buttonFactory.normalFillColor = RGBA_Bytes.White;
buttonFactory.normalTextColor = RGBA_Bytes.DarkGray;
FlowLayoutWidget pageTopToBottomLayout = new FlowLayoutWidget(FlowDirection.TopToBottom, vAnchor: Agg.UI.VAnchor.ParentTop);
pageTopToBottomLayout.AnchorAll();
pageTopToBottomLayout.Padding = new BorderDouble(3, 0);
this.AddChild(pageTopToBottomLayout);
settingsControlBar = new SettingsControlBar();
pageTopToBottomLayout.AddChild(settingsControlBar);
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
//.........这里部分代码省略.........
示例10: CreateExtraSettingsSideTabsAndPages
private TabControl CreateExtraSettingsSideTabsAndPages(TabControl categoryTabs, out int count)
{
int rightContentWidth = (int)(280 * GuiWidget.DeviceScale + .5);
count = 0;
TabControl leftSideGroupTabs = new TabControl(Orientation.Vertical);
leftSideGroupTabs.Margin = new BorderDouble(0, 0, 0, 5);
leftSideGroupTabs.TabBar.BorderColor = RGBA_Bytes.White;
{
TabPage groupTabPage = new TabPage("Extra Settings");
SimpleTextTabWidget groupTabWidget = new SimpleTextTabWidget(groupTabPage, "Extra Settings Tab", 14,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes());
leftSideGroupTabs.AddTab(groupTabWidget);
FlowLayoutWidget subGroupLayoutTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom);
subGroupLayoutTopToBottom.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
subGroupLayoutTopToBottom.VAnchor = VAnchor.FitToChildren;
FlowLayoutWidget topToBottomSettings = new FlowLayoutWidget(FlowDirection.TopToBottom);
topToBottomSettings.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
this.HAnchor = HAnchor.ParentLeftRight;
foreach (var keyValue in ActiveSliceSettings.Instance.BaseLayer)
{
if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, keyValue.Key))
{
SliceSettingData settingData = new SliceSettingData(keyValue.Key, keyValue.Key, SliceSettingData.DataEditTypes.STRING);
if (ActiveSliceSettings.Instance.Helpers.ActiveSliceEngine().MapContains(settingData.SlicerConfigName))
{
bool addControl;
GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingData, layerCascade, persistenceLayer, viewFilter, 0, out addControl, ref tabIndexForItem);
if (addControl)
{
topToBottomSettings.AddChild(controlsForThisSetting);
}
count++;
}
}
}
AltGroupBox groupBox = new AltGroupBox("Extra".Localize());
groupBox.TextColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.BorderColor = ActiveTheme.Instance.PrimaryTextColor;
groupBox.AddChild(topToBottomSettings);
groupBox.VAnchor = VAnchor.FitToChildren;
groupBox.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
subGroupLayoutTopToBottom.AddChild(groupBox);
SliceSettingListControl scrollOnGroupTab = new SliceSettingListControl();
scrollOnGroupTab.AnchorAll();
scrollOnGroupTab.AddChild(subGroupLayoutTopToBottom);
groupTabPage.AddChild(scrollOnGroupTab);
}
return leftSideGroupTabs;
}
示例11: SliceSettingsWidget
public SliceSettingsWidget(List<PrinterSettingsLayer> layerCascade = null, NamedSettingsLayers viewFilter = NamedSettingsLayers.All)
{
this.layerCascade = layerCascade;
this.viewFilter = viewFilter;
// The last layer of the layerFilters is the target persistence layer
persistenceLayer = layerCascade?.First() ?? ActiveSliceSettings.Instance.UserLayer;
textImageButtonFactory = new TextImageButtonFactory();
textImageButtonFactory.normalFillColor = RGBA_Bytes.Transparent;
textImageButtonFactory.FixedHeight = 15 * GuiWidget.DeviceScale;
textImageButtonFactory.fontSize = 8;
textImageButtonFactory.borderWidth = 1;
textImageButtonFactory.normalBorderColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryTextColor, 200);
textImageButtonFactory.hoverBorderColor = new RGBA_Bytes(ActiveTheme.Instance.PrimaryTextColor, 200);
this.textImageButtonFactory.disabledTextColor = RGBA_Bytes.Gray;
this.textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor;
this.textImageButtonFactory.normalTextColor = ActiveTheme.Instance.SecondaryTextColor;
this.textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor;
buttonFactory.FixedHeight = 20 * GuiWidget.DeviceScale;
buttonFactory.fontSize = 10;
buttonFactory.normalFillColor = RGBA_Bytes.White;
buttonFactory.normalTextColor = RGBA_Bytes.DarkGray;
FlowLayoutWidget pageTopToBottomLayout = new FlowLayoutWidget(FlowDirection.TopToBottom, vAnchor: Agg.UI.VAnchor.ParentTop);
pageTopToBottomLayout.AnchorAll();
pageTopToBottomLayout.Padding = new BorderDouble(3, 0);
this.AddChild(pageTopToBottomLayout);
settingsControlBar = new SettingsControlBar()
{
HAnchor = HAnchor.ParentLeftRight,
BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay,
Padding = new BorderDouble(8, 12, 8, 8)
};
pageTopToBottomLayout.AddChild(settingsControlBar);
noConnectionMessageContainer = new AltGroupBox(new TextWidget("No Printer Selected".Localize(), 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 = "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;
//.........这里部分代码省略.........
示例12: 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;
}
示例13: PartPreviewMainWindow
public PartPreviewMainWindow(PrintItemWrapper printItem, View3DTransformPart.AutoRotate autoRotate3DView)
: base(690, 340)
{
string partPreviewTitle = LocalizedString.Get("MatterControl");
Title = string.Format("{0}: ", partPreviewTitle) + Path.GetFileName(printItem.Name);
BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
TabControl tabControl = new TabControl();
tabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0);
tabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
double buildHeight = ActiveSliceSettings.Instance.BuildHeight;
// put in the 3D view
{
string part3DViewLabelFull = string.Format("{0} {1} ", "3D", "View".Localize());
view3DTransformPart = new View3DTransformPart(printItem,
new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight),
ActiveSliceSettings.Instance.BedCenter,
ActiveSliceSettings.Instance.BedShape,
View3DTransformPart.WindowType.StandAlone,
autoRotate3DView);
TabPage partPreview3DView = new TabPage(view3DTransformPart, part3DViewLabelFull);
tabControl.AddTab(new SimpleTextTabWidget(partPreview3DView, "3D View Tab", 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()));
}
// put in the 2d gcode view
TabPage layerView;
{
viewGcodeBasic = new ViewGcodeBasic(printItem,
new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight),
ActiveSliceSettings.Instance.BedCenter,
ActiveSliceSettings.Instance.BedShape,
true);
layerView = new TabPage(viewGcodeBasic, LocalizedString.Get("Layer View"));
tabControl.AddTab(new SimpleTextTabWidget(layerView, "Layer View Tab", 16,
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()));
}
this.AddChild(tabControl);
this.AnchorAll();
AddHandlers();
Width = 640;
Height = 480;
MinimumSize = new Vector2(400, 300);
ShowAsSystemWindow();
// We do this after showing the system window so that when we try and take focus of the parent window (the system window)
// it exists and can give the focus to its child the gcode window.
if (Path.GetExtension(printItem.FileLocation).ToUpper() == ".GCODE")
{
tabControl.TabBar.SwitchToPage(layerView);
viewGcodeBasic.Focus();
}
}
示例14: WidescreenPanel
public WidescreenPanel()
: base()
{
ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent(LoadSettingsOnPrinterChanged, ref unregisterEvents);
// do the front panel stuff
{
// first add the print progress bar
this.Panel1.AddChild(new PrintProgressBar());
// construct the main controls tab control
mainControlsTabControl = new TabControl();
mainControlsTabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor;
mainControlsTabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0);
mainControlsTabControl.TabBar.Margin = new BorderDouble(0, 0);
mainControlsTabControl.TabBar.Padding = new BorderDouble(0, 2);
QueueTabPage = new TabPage(new QueueControlsWidget(), "Queue");
NumQueueItemsChanged(this, null);
mainControlsTabControl.AddTab(new SimpleTextTabWidget(QueueTabPage, 18,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
//mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new GuiWidget(), "History"), 18,
// ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
mainControlsTabControl.AddTab(new SimpleTextTabWidget(new TabPage(new PrintLibraryWidget(), "Library"), 18,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
AboutTabPage = new TabPage(new AboutPage(), "About");
aboutTabView = new SimpleTextTabWidget(AboutTabPage, 18,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes());
mainControlsTabControl.AddTab(aboutTabView);
advancedControlsButtonFactory.normalTextColor = RGBA_Bytes.White;
advancedControlsButtonFactory.hoverTextColor = RGBA_Bytes.White;
advancedControlsButtonFactory.pressedTextColor = RGBA_Bytes.White;
advancedControlsButtonFactory.fontSize = 10;
advancedControlsButtonFactory.disabledTextColor = RGBA_Bytes.LightGray;
advancedControlsButtonFactory.disabledFillColor = ActiveTheme.Instance.PrimaryBackgroundColor;
advancedControlsButtonFactory.disabledBorderColor = ActiveTheme.Instance.PrimaryBackgroundColor;
advancedControlsButtonFactory.invertImageLocation = true;
Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate("Advanced\nControls", "icon_arrow_right_32x32.png");
advancedControlsLinkButton.Margin = new BorderDouble(right: 3);
advancedControlsLinkButton.VAnchor = VAnchor.ParentBottom;
advancedControlsLinkButton.Cursor = Cursors.Hand;
advancedControlsLinkButton.Click += new ButtonBase.ButtonEventHandler(AdvancedControlsButton_Click);
advancedControlsLinkButton.MouseEnterBounds += new EventHandler(onMouseEnterBoundsAdvancedControlsLink);
advancedControlsLinkButton.MouseLeaveBounds += new EventHandler(onMouseLeaveBoundsAdvancedControlsLink);
GuiWidget hSpacer = new GuiWidget();
hSpacer.HAnchor = HAnchor.ParentLeftRight;
mainControlsTabControl.TabBar.AddChild(hSpacer);
//mainControlsTabControl.TabBar.AddChild(advancedControlsLinkButton);
// and add it
this.Panel1.AddChild(mainControlsTabControl);
SetUpdateNotification(this, null);
}
// do the back panel
{
advancedControlsTabControl = CreateNewAdvancedControlsTab(new SliceSettingsWidget.UiState());
this.Panel2.AddChild(advancedControlsTabControl);
//this.Panel2.AddChild(new PrintProgressBar());
}
AddHandlers();
}
示例15: CreateNewAdvancedControlsTab
TabControl CreateNewAdvancedControlsTab(SliceSettingsWidget.UiState sliceSettingsUiState)
{
advancedControls = new TabControl();
advancedControls.BackgroundColor = ActiveTheme.Instance.PrimaryAccentColor;
advancedControls.TabBar.BorderColor = RGBA_Bytes.White;
advancedControls.TabBar.Margin = new BorderDouble(0, 0);
advancedControls.TabBar.Padding = new BorderDouble(0, 2);
advancedControlsButtonFactory.invertImageLocation = false;
Button advancedControlsLinkButton = advancedControlsButtonFactory.Generate("Print\nQueue", "icon_arrow_left_32x32.png");
advancedControlsLinkButton.Margin = new BorderDouble(right: 3);
advancedControlsLinkButton.VAnchor = VAnchor.ParentBottom;
advancedControlsLinkButton.Cursor = Cursors.Hand;
advancedControlsLinkButton.Click += new ButtonBase.ButtonEventHandler(AdvancedControlsButton_Click);
advancedControlsLinkButton.MouseEnterBounds += new EventHandler(onMouseEnterBoundsPrintQueueLink);
advancedControlsLinkButton.MouseLeaveBounds += new EventHandler(onMouseLeaveBoundsPrintQueueLink);
//advancedControls.TabBar.AddChild(advancedControlsLinkButton);
GuiWidget manualPrinterControls = new ManualPrinterControls();
ScrollableWidget manualPrinterControlsScrollArea = new ScrollableWidget(true);
manualPrinterControlsScrollArea.ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight;
manualPrinterControlsScrollArea.AnchorAll();
manualPrinterControlsScrollArea.AddChild(manualPrinterControls);
advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, "Printer Controls"), 18,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
sliceSettingsWidget = new SliceSettingsWidget(sliceSettingsUiState);
advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, "Slice Settings"), 18,
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
return advancedControls;
}