register TabWidget

This commit is contained in:
John Colvin 2017-09-04 11:48:08 +01:00
parent 3181cbef09
commit 9506a0f70b
1 changed files with 17 additions and 15 deletions

View File

@ -1,4 +1,4 @@
module dlangui.platforms.common.startup;
module dlangui.platforms.common.startup;
import dlangui.core.config;
import dlangui.core.events;
@ -11,7 +11,7 @@ static if (BACKEND_GUI) {
import dlangui.graphics.ftfonts;
version (Windows) {
/// initialize font manager - default implementation
/// On win32 - first it tries to init freetype, and falls back to win32 fonts.
/// On linux/mac - tries to init freetype with some hardcoded font paths
@ -23,12 +23,12 @@ version (Windows) {
/// testing freetype font manager
static if (ENABLE_FREETYPE) {
Log.v("Trying to init FreeType font manager");
import dlangui.graphics.ftfonts;
// trying to create font manager
Log.v("Creating FreeTypeFontManager");
FreeTypeFontManager ftfontMan = new FreeTypeFontManager();
import core.sys.windows.shlobj;
string fontsPath = "c:\\Windows\\Fonts\\";
static if (true) { // SHGetFolderPathW not found in shell32.lib
@ -84,14 +84,14 @@ version (Windows) {
} catch (Exception e) {
Log.e("Cannot create FreeTypeFontManager - falling back to win32");
}
// use Win32 font manager
if (FontManager.instance is null) {
FontManager.instance = new Win32FontManager();
}
return true;
}
} else {
import dlangui.graphics.ftfonts;
bool registerFonts(FreeTypeFontManager ft, string path) {
@ -132,13 +132,13 @@ version (Windows) {
foreach(file; fontFiles)
ft.registerFont(file);
}
/// initialize font manager - default implementation
/// On win32 - first it tries to init freetype, and falls back to win32 fonts.
/// On linux/mac - tries to init freetype with some hardcoded font paths
extern(C) bool initFontManager() {
FreeTypeFontManager ft = new FreeTypeFontManager();
if (!registerFontConfigFonts(ft)) {
// TODO: use FontConfig
Log.w("No fonts found using FontConfig. Trying hardcoded paths.");
@ -201,10 +201,10 @@ version (Windows) {
ft.registerFont("/System/Library/Fonts/Menlo.ttc", FontFamily.MonoSpace, "Menlo", false, FontWeight.Normal, true);
}
}
if (!ft.registeredFontCount)
return false;
FontManager.instance = ft;
return true;
}
@ -337,9 +337,10 @@ void registerStandardWidgets() {
import dlangui.dialogs.filedlg;
import dlangui.widgets.menu;
import dlangui.widgets.tree;
import dlangui.widgets.tabs;
mixin(registerWidgets!(FileNameEditLine, DirEditLine, //dlangui.dialogs.filedlg
ComboBox, ComboEdit, //dlangui.widgets.combobox
Widget, TextWidget, MultilineTextWidget, Button, ImageWidget, ImageButton, ImageCheckButton, ImageTextButton,
Widget, TextWidget, MultilineTextWidget, Button, ImageWidget, ImageButton, ImageCheckButton, ImageTextButton,
SwitchButton, RadioButton, CheckBox, HSpacer, VSpacer, CanvasWidget, // dlangui.widgets.controls
ScrollBar, SliderWidget, // dlangui.widgets.scrollbar
EditLine, EditBox, LogWidget,//dlangui.widgets.editors
@ -350,6 +351,7 @@ void registerStandardWidgets() {
ListWidget, StringListWidget,//dlangui.widgets.lists
MainMenu, //dlangui.widgets.menu
TreeWidget, // dlangui.widgets.tree
TabWidget, // dlangui.widgets.tabs
)("void registerWidgets"));
registerWidgets();
}
@ -370,16 +372,16 @@ shared static this() {
/// call this when all resources are supposed to be freed to report counts of non-freed resources by type
extern (C) void releaseResourcesOnAppExit() {
//
debug setAppShuttingDownFlag();
debug {
if (Widget.instanceCount() > 0) {
Log.e("Non-zero Widget instance count when exiting: ", Widget.instanceCount);
}
}
currentTheme = null;
drawableCache = null;
static if (BACKEND_GUI) {
@ -390,7 +392,7 @@ extern (C) void releaseResourcesOnAppExit() {
import dlangui.graphics.gldrawbuf;
destroyGLCaches();
}
debug {
if (DrawBuf.instanceCount > 0) {
Log.e("Non-zero DrawBuf instance count when exiting: ", DrawBuf.instanceCount);