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