|
@@ -464,27 +464,37 @@ void laui_ColumnItem(laUiList *uil, laPropPack *Base, laPropPack *UNUSED_This, l
|
|
|
void laui_DefaultMenuButtonsFileEntries(laUiList *uil, laPropPack *pp, laPropPack *actinst, laColumn *extracol, int context){
|
|
|
laColumn* c=laFirstColumn(uil);
|
|
|
|
|
|
- laShowLabel(uil, c, "Function Test", 0, 0);
|
|
|
+ laShowLabel(uil, c, "Function Test", 0, 0)->Flags|=LA_TEXT_MONO|LA_UI_FLAGS_DISABLED;
|
|
|
laShowItem(uil, c, 0, "LA_pure_yes_no");
|
|
|
laShowItem(uil, c, 0, "LA_file_dialog");
|
|
|
laShowItem(uil, c, 0, "LA_udf_read");
|
|
|
laShowItem(uil, c, 0, "LA_managed_save");
|
|
|
laShowItem(uil, c, 0, "LA_manage_udf");
|
|
|
|
|
|
- laShowLabel(uil, c, "Other Entries", 0, 0);
|
|
|
- laShowItemFull(uil, c, 0, "LA_panel_activator", 0, "panel_id=LAUI_about;text=About;", 0, 0);
|
|
|
+ laShowLabel(uil, c, "Other Entries", 0, 0)->Flags|=LA_TEXT_MONO|LA_UI_FLAGS_DISABLED;
|
|
|
laShowItem(uil, c, 0, "LA_terminate_program");
|
|
|
}
|
|
|
+void laui_DefaultMenuButtonsEditEntries(laUiList *uil, laPropPack *pp, laPropPack *actinst, laColumn *extracol, int context){
|
|
|
+ laColumn* c=laFirstColumn(uil);
|
|
|
+ laShowLabel(uil, c, "History", 0, 0)->Flags|=LA_TEXT_MONO|LA_UI_FLAGS_DISABLED;
|
|
|
+ laShowItem(uil, c, 0, "LA_undo")->Flags|=LA_UI_FLAGS_NO_CONFIRM;
|
|
|
+ laShowItem(uil, c, 0, "LA_redo")->Flags|=LA_UI_FLAGS_NO_CONFIRM;
|
|
|
+}
|
|
|
void laui_DefaultMenuButtonsOptionEntries(laUiList *uil, laPropPack *pp, laPropPack *actinst, laColumn *extracol, int context){
|
|
|
laColumn* c=laFirstColumn(uil);
|
|
|
- laShowLabel(uil, c, "Settings", 0, 0);
|
|
|
+ laShowLabel(uil, c, "Settings", 0, 0)->Flags|=LA_TEXT_MONO|LA_UI_FLAGS_DISABLED;
|
|
|
laShowItemFull(uil, c, 0, "LA_panel_activator", 0, "panel_id=LAUI_user_preferences;", 0, 0);
|
|
|
+ laShowLabel(uil, c, "Information", 0, 0)->Flags|=LA_TEXT_MONO|LA_UI_FLAGS_DISABLED;
|
|
|
+ laShowItemFull(uil, c, 0, "LA_panel_activator", 0, "panel_id=LAUI_about;text=About;", 0, 0);
|
|
|
}
|
|
|
void laui_DefaultMenuButtons(laUiList *uil, laPropPack *pp, laPropPack *actinst, laColumn *extracol, int context){
|
|
|
laUiList *muil; laColumn *mc,*c = laFirstColumn(uil);
|
|
|
muil = laMakeMenuPage(uil, c, "File");{
|
|
|
mc = laFirstColumn(muil); laui_DefaultMenuButtonsFileEntries(muil,pp,actinst,extracol,0);
|
|
|
}
|
|
|
+ muil = laMakeMenuPage(uil, c, "Edit");{
|
|
|
+ mc = laFirstColumn(muil); laui_DefaultMenuButtonsEditEntries(muil,pp,actinst,extracol,0);
|
|
|
+ }
|
|
|
muil = laMakeMenuPage(uil, c, "Options"); {
|
|
|
mc = laFirstColumn(muil); laui_DefaultMenuButtonsOptionEntries(muil,pp,actinst,extracol,0);
|
|
|
}
|
|
@@ -947,7 +957,7 @@ void laui_FileBrowserFileList(laUiList *uil, laPropPack *THIS_UNUSED, laPropPack
|
|
|
laShowItem(u, c, Operator, "disk_list");
|
|
|
|
|
|
b = laMakeGroup(uil, cr, "File List", 0);b->State=LA_UI_ACTIVE; u=b->Page;
|
|
|
- u->HeightCoeff = -3;
|
|
|
+ u->HeightCoeff = -1;
|
|
|
c = laFirstColumn(u);
|
|
|
laShowColumnAdjuster(u, c);
|
|
|
laSplitColumn(u, c, 0.1);
|
|
@@ -1031,10 +1041,9 @@ void laui_ManagedPropInstance(laUiList *uil, laPropPack *Base, laPropPack *Opera
|
|
|
|
|
|
laPropContainer* pc=la_EnsureSubTarget(Base->LastPs->p, Base->EndInstance);
|
|
|
|
|
|
-
|
|
|
if(pc->UDFPropagate){
|
|
|
char buf[128]; sprintf(buf,"Assign all \"%s\" into:",pc->Name);
|
|
|
- laShowLabel(uil,crl,buf,0,0)->Flags|=LA_TEXT_ALIGN_RIGHT;
|
|
|
+ laShowLabel(uil,crl,buf,0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED;
|
|
|
laShowItem(uil,crr,Base,"__single_udf_propagate");
|
|
|
}
|
|
|
|
|
@@ -1068,7 +1077,7 @@ void laui_ManagedPropInstance(laUiList *uil, laPropPack *Base, laPropPack *Opera
|
|
|
if(p->PropertyType!=LA_PROP_SUB || p->UDFIsRefer) continue;
|
|
|
la_EnsureSubTarget(p,0);
|
|
|
if(p->SubProp &&p->SubProp->Hyper!=2 &&(!p->UDFIsSingle)) continue;
|
|
|
- if(p->UDFNoCreate) continue;
|
|
|
+ if(p->UDFNoCreate || p->UDFHideInSave) continue;
|
|
|
if(p==pc->SaverDummy){
|
|
|
laShowItem(uil,cl,Base,"__single_saver_dummy.__modified");
|
|
|
laShowItem(uil,crl,Base,"identifier")->Flags|=LA_UI_FLAGS_PLAIN;
|
|
@@ -1196,6 +1205,11 @@ void laui_UserPreference(laUiList *uil, laPropPack *Base, laPropPack *OperatorIn
|
|
|
laShowItem(uil,cr,0,"LA_save_user_preferences");
|
|
|
|
|
|
bracket = laMakeTab(uil, c, 0);{
|
|
|
+
|
|
|
+ for(laExtraPreferencePage* epp=MAIN.ExtraPreferencePages.pFirst;epp;epp=epp->Item.pNext){
|
|
|
+ muil = laAddTabPage(bracket, epp->Name); epp->Func(muil,0,0,0,0);
|
|
|
+ }
|
|
|
+
|
|
|
muil = laAddTabPage(bracket, "Display");{
|
|
|
//muil->HeightCoeff = -1;
|
|
|
mc = laFirstColumn(muil);
|
|
@@ -1203,6 +1217,8 @@ void laui_UserPreference(laUiList *uil, laPropPack *Base, laPropPack *OperatorIn
|
|
|
mcl = laLeftColumn(mc, 0);
|
|
|
mcr = laRightColumn(mc, 0);
|
|
|
|
|
|
+ if(MAIN.PreferencePageDisplay){ MAIN.PreferencePageDisplay(muil,0,0,0,0); }
|
|
|
+
|
|
|
laShowLabel(muil, mc, "Interface:", 0, 0);
|
|
|
laShowLabel(muil, mcl, "Row Height:", 0, 0);
|
|
|
laShowItem(muil, mcr, 0, "la.user_preferences.interface_size");
|
|
@@ -1247,6 +1263,8 @@ void laui_UserPreference(laUiList *uil, laPropPack *Base, laPropPack *OperatorIn
|
|
|
mcl = laLeftColumn(mc, 0);
|
|
|
mcr = laRightColumn(mc, 0);
|
|
|
|
|
|
+ if(MAIN.PreferencePageInput){ MAIN.PreferencePageInput(muil,0,0,0,0); }
|
|
|
+
|
|
|
laShowLabel(muil, mc, "User Interactions:", 0, 0);
|
|
|
laShowItem(muil, mc, 0, "la.user_preferences.scroll_speed");
|
|
|
laShowItem(muil, mcl, 0, "la.user_preferences.animation_speed");
|
|
@@ -1255,6 +1273,21 @@ void laui_UserPreference(laUiList *uil, laPropPack *Base, laPropPack *OperatorIn
|
|
|
laShowItem(muil, mc, 0, "la.user_preferences.zoom_speed_2d");
|
|
|
laShowItem(muil, mcl, 0, "la.user_preferences.tooltip_close_distance");
|
|
|
laShowItem(muil, mcr, 0, "la.user_preferences.idle_time");
|
|
|
+
|
|
|
+ laShowSeparator(muil,mc);
|
|
|
+
|
|
|
+ laShowLabel(muil, mc, "Input device handling:", 0, 0);
|
|
|
+ laShowLabel(muil, mcl, "Input Mapping:", 0, 0)->Flags|=LA_TEXT_ALIGN_RIGHT;
|
|
|
+ laShowItemFull(muil, mcr, 0, "LA_panel_activator",0,"panel_id=LAUI_input_mapper;text=Configure",0,0);
|
|
|
+ laShowLabel(muil, mcl, "Pads/Joysticks:", 0, 0)->Flags|=LA_TEXT_ALIGN_RIGHT;
|
|
|
+ laShowItemFull(muil, mcr, 0, "LA_panel_activator",0,"panel_id=LAUI_controllers;text=Configure",0,0);
|
|
|
+
|
|
|
+ laShowSeparator(muil,mc);
|
|
|
+
|
|
|
+ laShowLabel(muil, mc, "Wacom Devices:", 0, 0);
|
|
|
+ laShowItem(muil, mcl, 0, "la.user_preferences.wacom_device_stylus");
|
|
|
+ laShowItem(muil, mcl, 0, "la.user_preferences.wacom_device_eraser");
|
|
|
+ laShowItemFull(muil, mcr, 0, "LA_refresh_controllers",0,"text=Refresh",0,0);
|
|
|
}
|
|
|
|
|
|
muil = laAddTabPage(bracket, "Resource");{
|
|
@@ -1264,6 +1297,9 @@ void laui_UserPreference(laUiList *uil, laPropPack *Base, laPropPack *OperatorIn
|
|
|
laSplitColumn(muil, mc, 0.5);
|
|
|
mcl = laLeftColumn(mc, 0);
|
|
|
mcr = laRightColumn(mc, 0);
|
|
|
+
|
|
|
+ if(MAIN.PreferencePageResource){ MAIN.PreferencePageResource(muil,0,0,0,0); }
|
|
|
+
|
|
|
laShowLabel(muil, mcl, "UDF Manager Default View:", 0, 0);
|
|
|
laShowItem(muil, mcr, 0, "la.user_preferences.manager_default_view")->Flags|=LA_UI_FLAGS_EXPAND;
|
|
|
|
|
@@ -1279,6 +1315,9 @@ void laui_UserPreference(laUiList *uil, laPropPack *Base, laPropPack *OperatorIn
|
|
|
muil = laAddTabPage(bracket, "Theme");{
|
|
|
//muil->HeightCoeff = -1;
|
|
|
mc = laFirstColumn(muil);
|
|
|
+
|
|
|
+ if(MAIN.PreferencePageTheme){ MAIN.PreferencePageTheme(muil,0,0,0,0); }
|
|
|
+
|
|
|
laShowLabel(muil, mc, "Active Theme", 0, 0);
|
|
|
laShowItemFull(muil, mc, 0, "la.themes", LA_WIDGET_COLLECTION_SELECTOR, 0,laui_ThemeListItem,0);
|
|
|
laShowItemFull(muil, mc, 0, "la.themes", LA_WIDGET_COLLECTION_SINGLE, 0 ,0,0);
|
|
@@ -1298,14 +1337,22 @@ void laui_About(laUiList *uil, laPropPack *Base, laPropPack *OperatorInst, laCol
|
|
|
|
|
|
c = laFirstColumn(uil);
|
|
|
|
|
|
- laShowLabel(uil, c, "LaGUI", 0, 0);
|
|
|
- laShowLabel(uil, c, "A graphical user interface application toolkit", 0, 0)->Flags|=LA_TEXT_LINE_WRAP;
|
|
|
- laShowLabel(uil, c, "(C)Yiming Wu", 0, 0);
|
|
|
+ if(MAIN.AboutContent){
|
|
|
+ MAIN.AboutContent(uil,Base,OperatorInst,ExtraColumns,0);
|
|
|
+ }else{
|
|
|
+ laShowLabel(uil, c, "LaGUI", 0, 0);
|
|
|
+ laShowLabel(uil, c, "A graphical user interface application toolkit", 0, 0)->Flags|=LA_TEXT_LINE_WRAP;
|
|
|
+ laShowLabel(uil, c, "(C)Yiming Wu", 0, 0);
|
|
|
+ }
|
|
|
|
|
|
t = laMakeTab(uil, c, 0);{
|
|
|
first = u = laAddTabPage(t, "Version");
|
|
|
tc = laFirstColumn(u);
|
|
|
|
|
|
+ if(MAIN.AboutVersion){
|
|
|
+ MAIN.AboutVersion(u,Base,OperatorInst,ExtraColumns,0);
|
|
|
+ }
|
|
|
+
|
|
|
g = laMakeGroup(u, tc, "LaGUI information", 0);
|
|
|
gu = g->Page;{
|
|
|
gc = laFirstColumn(gu);
|
|
@@ -1313,20 +1360,20 @@ void laui_About(laUiList *uil, laPropPack *Base, laPropPack *OperatorInst, laCol
|
|
|
laShowLabel(gu, gc, buf, 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
sprintf(buf, "Program built on:[UTC+8] %s %s", __DATE__, __TIME__);
|
|
|
laShowLabel(gu, gc, buf, 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
- sprintf(buf, "UDF Capability %s %d.%d.%d",LA_UDF_IDENTIFIER, LA_UDF_CAPABILITY_MAIN, LA_UDF_CAPABILITY_SUB, LA_UDF_CAPABILITY_MINOR);
|
|
|
+ sprintf(buf, "UDF Identifier: %s",LA_UDF_IDENTIFIER);
|
|
|
laShowLabel(gu, gc, buf, 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
laShowLabel(gu, gc, "UDF Extensions:", 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
- laShowLabel(gu, gc, "🗸 LA_UDF_BASICS", 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
+ laShowLabel(gu, gc, "🗸LA_UDF_BASICS", 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
for(int i=0;i<64;i++){
|
|
|
if(!LA_UDF_EXTENSION_STRINGS[i][0]) break; int gray=!((1<<i)&LA_UDF_EXTENSION_BITS);
|
|
|
- sprintf(buf,"%s %s",gray?" ":"🗸",LA_UDF_EXTENSION_STRINGS[i]);
|
|
|
+ sprintf(buf,"%s%s",gray?" ":"🗸",LA_UDF_EXTENSION_STRINGS[i]);
|
|
|
laUiItem* ext=laShowLabel(gu, gc, buf, 0, 0); ext->Flags|=LA_TEXT_MONO;
|
|
|
if(gray){ ext->Flags|=LA_UI_FLAGS_DISABLED; }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- g = laMakeGroup(u, tc, "Graphics", 0);
|
|
|
+ g = laMakeGroup(u, tc, "Device Graphics", 0);
|
|
|
gu = g->Page;{
|
|
|
gc = laFirstColumn(gu);
|
|
|
sprintf(buf, "OpenGL Version: %s", T->GLVersionStr); laShowLabel(gu, gc, buf, 0, 0)->Flags|=LA_TEXT_MONO;
|
|
@@ -1335,64 +1382,22 @@ void laui_About(laUiList *uil, laPropPack *Base, laPropPack *OperatorInst, laCol
|
|
|
sprintf(buf, "GLSL Version: %s", T->GLSLVersionStr); laShowLabel(gu, gc, buf, 0, 0)->Flags|=LA_TEXT_MONO;
|
|
|
}
|
|
|
|
|
|
- u = laAddTabPage(t, "Props");{
|
|
|
- c = laFirstColumn(u);
|
|
|
- laSplitColumn(u, c, 0.2);
|
|
|
- gcl = laLeftColumn(c, 1);
|
|
|
- gcr = laRightColumn(c, 0);
|
|
|
- for (pc = MAIN.PropContainers.pFirst; pc; pc = pc->Item.pNext){
|
|
|
- buf[0] = L' ';buf[1]= L'\0';
|
|
|
- if(pc->IconID){
|
|
|
- sprintf(buf, "%lc", pc->IconID);
|
|
|
- }
|
|
|
- laShowLabelDynamic(u, gcl, buf, 0, LA_WIDGET_STRING_PLAIN);
|
|
|
- laShowLabelDynamic(u, gcr, pc->Identifier, 0, LA_WIDGET_STRING_PLAIN);
|
|
|
- }
|
|
|
- }
|
|
|
+ u = laAddTabPage(t, "Authors");
|
|
|
+ tc= laFirstColumn(u);
|
|
|
|
|
|
- u = laAddTabPage(t, "Functions");{
|
|
|
- c = laFirstColumn(u);
|
|
|
- laSplitColumn(u, c, 0.2);
|
|
|
- gcl = laLeftColumn(c, 1);
|
|
|
- gcr = laRightColumn(c, 0);
|
|
|
- for (h = 0; h < 256; h++){
|
|
|
- for (at = MAIN.OperatorTypeHash.Entries[h].pFirst; at; at = at->Item.pNext){
|
|
|
- buf[0] = L' ';buf[1]= L'\0';
|
|
|
- if(at->IconID){
|
|
|
- sprintf(buf, "%lc", at->IconID);
|
|
|
- }
|
|
|
- laShowLabelDynamic(u, gcl, buf, 0, LA_WIDGET_STRING_PLAIN);
|
|
|
- laShowLabelDynamic(u, gcr, at->Identifier, 0, LA_WIDGET_STRING_PLAIN);
|
|
|
- }
|
|
|
- }
|
|
|
+ if(MAIN.AboutAuthor){
|
|
|
+ MAIN.AboutAuthor(u,Base,OperatorInst,ExtraColumns,0);
|
|
|
}
|
|
|
|
|
|
- u = laAddTabPage(t, "Author");
|
|
|
- tc = laFirstColumn(u);
|
|
|
- laSplitColumn(u, tc, 0.8);
|
|
|
- tcl = laLeftColumn(tc, 3);
|
|
|
- tcr = laRightColumn(tc, 00);
|
|
|
-
|
|
|
- strSafeSet(&laShowSymbol(u, tc, 0, 0)->ExtraInstructions, "mode=invert;preserve=5;");
|
|
|
-
|
|
|
- laShowItemFull(u, tcl, 0, "LA_open_internet_link", 0, "link=http://www.wellobserve.com;", 0, 0);
|
|
|
- laShowLabel(u, tcr, "Yiming's Website", 0, 0);
|
|
|
- laShowSeparator(u, tc);
|
|
|
-
|
|
|
- laShowLabel(u, tcr, "QQ 1094469528", 0, 0);
|
|
|
- laShowSeparator(u, tc);
|
|
|
-
|
|
|
- laShowItemFull(u, tcl, 0, "LA_open_internet_link", 0, "link=http://weibo.com/1919404360;", 0, 0);
|
|
|
- laShowLabel(u, tcr, "Weibo", 0, 0);
|
|
|
-
|
|
|
- laShowItemFull(u, tcl, 0, "LA_open_internet_link", 0, "link=https://www.artstation.com/artist/nicksbest;", 0, 0);
|
|
|
- laShowLabel(u, tcr, "Artstation", 0, 0);
|
|
|
-
|
|
|
- laShowItemFull(u, tcl, 0, "LA_open_internet_link", 0, "link=mailto:1094469528@qq.com;icon=🖅", 0, 0);
|
|
|
- laShowLabel(u, tcr, "QQ Mail", 0, 0);
|
|
|
-
|
|
|
- laShowLabel(u, tcr, "Outlook Mail", 0, 0);
|
|
|
- laShowItemFull(u, tcl, 0, "LA_open_internet_link", 0, "link=mailto:xp8110@outlook.com;icon=🖅", 0, 0);
|
|
|
+ g = laMakeGroup(u, tc, "LaGUI", 0);
|
|
|
+ gu = g->Page;{
|
|
|
+ gc = laFirstColumn(gu);
|
|
|
+ laShowLabel(gu,gc,"LaGUI application framework is made by Wu Yiming.",0,0)->Flags|=LA_TEXT_LINE_WRAP;
|
|
|
+ laUiItem* b=laBeginRow(gu,gc,1,0);
|
|
|
+ laShowItemFull(gu, gc, 0, "LA_open_internet_link", 0, "link=http://www.ChengduLittleA.com/lagui;text=Details", 0, 0);
|
|
|
+ laShowItemFull(gu, gc, 0, "LA_open_internet_link", 0, "link=http://www.ChengduLittleA.com;text=Yiming's Blog", 0, 0);
|
|
|
+ laEndRow(gu,b);
|
|
|
+ }
|
|
|
|
|
|
t->Page = first;
|
|
|
}
|