|  | @@ -1660,6 +1660,7 @@ void laui_GameController(laUiList *uil, laPropPack *This, laPropPack *Extra, laC
 | 
											
												
													
														|  |  void lauidetached_GameController(laPanel* p){
 |  |  void lauidetached_GameController(laPanel* p){
 | 
											
												
													
														|  |      la_MakeDetachedProp(p, "la.controllers", "controllers");
 |  |      la_MakeDetachedProp(p, "la.controllers", "controllers");
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  void laui_OperatorTypeEntry(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *ExtraColumns, int context){
 |  |  void laui_OperatorTypeEntry(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *ExtraColumns, int context){
 | 
											
												
													
														|  |      laColumn* c=ExtraColumns;
 |  |      laColumn* c=ExtraColumns;
 | 
											
												
													
														|  |      laShowItem(uil,c,This,"name")->Flags|=LA_UI_FLAGS_PLAIN;
 |  |      laShowItem(uil,c,This,"name")->Flags|=LA_UI_FLAGS_PLAIN;
 | 
											
										
											
												
													
														|  | @@ -1679,7 +1680,7 @@ void laui_InputMappingEntry(laUiList *uil, laPropPack *This, laPropPack *Extra,
 | 
											
												
													
														|  |      laShowItem(uil,crl,This,"disabled")->Flags=LA_UI_FLAGS_ICON|LA_UI_FLAGS_HIGHLIGHT|LA_UI_FLAGS_CYCLE;
 |  |      laShowItem(uil,crl,This,"disabled")->Flags=LA_UI_FLAGS_ICON|LA_UI_FLAGS_HIGHLIGHT|LA_UI_FLAGS_CYCLE;
 | 
											
												
													
														|  |      b1=laOnConditionToggle(uil,cl,0,0,0,0,0);{
 |  |      b1=laOnConditionToggle(uil,cl,0,0,0,0,0);{
 | 
											
												
													
														|  |          laEndRow(uil,b);
 |  |          laEndRow(uil,b);
 | 
											
												
													
														|  | -        laShowLabel(uil,cl,"Mode:\n ",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED|LA_TEXT_LINE_WRAP;
 |  | 
 | 
											
												
													
														|  | 
 |  | +        laShowLabel(uil,cl,"Mode\n ",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED|LA_TEXT_LINE_WRAP;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          b2=laBeginRow(uil,crl,0,0);{
 |  |          b2=laBeginRow(uil,crl,0,0);{
 | 
											
												
													
														|  |              laShowItem(uil,crl,This,"use_operator")->Flags=LA_UI_FLAGS_ICON|LA_UI_FLAGS_PLAIN|LA_UI_FLAGS_DISABLED;
 |  |              laShowItem(uil,crl,This,"use_operator")->Flags=LA_UI_FLAGS_ICON|LA_UI_FLAGS_PLAIN|LA_UI_FLAGS_DISABLED;
 | 
											
										
											
												
													
														|  | @@ -1719,7 +1720,7 @@ void laui_InputMappingEntry(laUiList *uil, laPropPack *This, laPropPack *Extra,
 | 
											
												
													
														|  |                      ui1->Flags|=LA_UI_FLAGS_EXPAND;ui1->Expand=10;
 |  |                      ui1->Flags|=LA_UI_FLAGS_EXPAND;ui1->Expand=10;
 | 
											
												
													
														|  |                      laEndRow(uil,b3);
 |  |                      laEndRow(uil,b3);
 | 
											
												
													
														|  |                      laShowItem(uil,crl,This,"operator_arguments");
 |  |                      laShowItem(uil,crl,This,"operator_arguments");
 | 
											
												
													
														|  | -                    laShowLabel(uil,cl,"Args:",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED;
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    laShowLabel(uil,cl,"Args",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  |                  }laElse(uil,b4);{
 |  |                  }laElse(uil,b4);{
 | 
											
												
													
														|  |                      laEndRow(uil,b3);
 |  |                      laEndRow(uil,b3);
 | 
											
												
													
														|  |                  }laEndCondition(uil,b4);
 |  |                  }laEndCondition(uil,b4);
 | 
											
										
											
												
													
														|  | @@ -1803,6 +1804,162 @@ void laui_InputMappingBundle(laUiList *uil, laPropPack *This, laPropPack *Extra,
 | 
											
												
													
														|  |          laShowItemFull(guil,gc,0,"la.input_mapping.current",LA_WIDGET_COLLECTION_SINGLE,0,laui_InputMapping,0)->Flags|=LA_UI_FLAGS_NO_DECAL;
 |  |          laShowItemFull(guil,gc,0,"la.input_mapping.current",LA_WIDGET_COLLECTION_SINGLE,0,laui_InputMapping,0)->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  |      }laEndCondition(uil,b3);
 |  |      }laEndCondition(uil,b3);
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +void laui_ToolboxEntryButton(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil);
 | 
											
												
													
														|  | 
 |  | +    laInputMappingEntry* ime=This?This->EndInstance:0; if(!ime){ laShowLabel(uil,c,"?",0,0); return; }
 | 
											
												
													
														|  | 
 |  | +    if(ime->UseOperator){
 | 
											
												
													
														|  | 
 |  | +        char buf[256]; if(SSTR(ime->Key)[0]){ sprintf(buf,"text=%s;",SSTR(ime->Key),SSTR(ime->OperatorArguments)); }
 | 
											
												
													
														|  | 
 |  | +        else{ sprintf(buf,"%s",SSTR(ime->OperatorArguments)); }
 | 
											
												
													
														|  | 
 |  | +        laShowItemFull(uil,c,0,SSTR(ime->Operator),0,buf,0,0)->Flags|=LA_TEXT_ALIGN_CENTER;
 | 
											
												
													
														|  | 
 |  | +    }else{
 | 
											
												
													
														|  | 
 |  | +        char* display=SSTR(ime->Key);
 | 
											
												
													
														|  | 
 |  | +        char buf[256]; sprintf(buf,"signal=%s;text=%s;",SSTR(ime->Signal),display[0]?display:SSTR(ime->Signal));
 | 
											
												
													
														|  | 
 |  | +        laShowItemFull(uil,c,0,"LA_send_signal",0,buf,0,0)->Flags|=LA_TEXT_ALIGN_CENTER;
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void laui_ToolboxEntry(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *ExtraColumns, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=ExtraColumns;
 | 
											
												
													
														|  | 
 |  | +    laColumn* cl=laLeftColumn(c,3),*cr=laRightColumn(c,0);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    laUiItem* b,*b1,*b2,*b3,*b4;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    b=laBeginRow(uil,cl,1,1);
 | 
											
												
													
														|  | 
 |  | +    laShowItem(uil,cl,This,"__move");
 | 
											
												
													
														|  | 
 |  | +    laShowItem(uil,cl,This,"key")->Flags|=LA_UI_FLAGS_PLAIN|LA_TEXT_ALIGN_CENTER;
 | 
											
												
													
														|  | 
 |  | +    b1=laOnConditionToggle(uil,cl,0,0,0,0,0);{
 | 
											
												
													
														|  | 
 |  | +        laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +        laShowLabel(uil,cl,"Mode",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        b2=laBeginRow(uil,cr,0,0);{
 | 
											
												
													
														|  | 
 |  | +            laShowItem(uil,cr,This,"use_operator")->Flags=LA_UI_FLAGS_ICON|LA_UI_FLAGS_PLAIN|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +            b3=laOnConditionThat(uil,cr,laPropExpression(This,"use_operator"));{
 | 
											
												
													
														|  | 
 |  | +                laUiItem* bui=laShowItemFull(uil,cr,This,"select_operator",0,"icon= ;",0,0);
 | 
											
												
													
														|  | 
 |  | +                bui->Expand=1; bui->Flags|=LA_UI_FLAGS_ICON|LA_UI_FLAGS_UNDERNEATH;
 | 
											
												
													
														|  | 
 |  | +                laUiItem* ui=laShowItem(uil,cr,This,"operator");
 | 
											
												
													
														|  | 
 |  | +                ui->Expand=1; ui->Flags|=LA_UI_FLAGS_PLAIN;
 | 
											
												
													
														|  | 
 |  | +            }laElse(uil,b3);{
 | 
											
												
													
														|  | 
 |  | +                laUiItem* bui=laShowItemFull(uil,cr,This,"select_signal",0,"icon= ;",0,0);
 | 
											
												
													
														|  | 
 |  | +                bui->Expand=1; bui->Flags|=LA_UI_FLAGS_ICON|LA_UI_FLAGS_UNDERNEATH;
 | 
											
												
													
														|  | 
 |  | +                laUiItem* ui=laShowItem(uil,cr,This,"signal");
 | 
											
												
													
														|  | 
 |  | +                ui->Expand=1; ui->Flags|=LA_UI_FLAGS_PLAIN;
 | 
											
												
													
														|  | 
 |  | +            }laEndCondition(uil,b3);
 | 
											
												
													
														|  | 
 |  | +            laShowItem(uil,cr,This,"remove")->Flags|=LA_UI_FLAGS_ICON;
 | 
											
												
													
														|  | 
 |  | +        }laEndRow(uil,b2);
 | 
											
												
													
														|  | 
 |  | +        
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        //b2=laBeginRow(uil,crr,0,0);{
 | 
											
												
													
														|  | 
 |  | +        //    laShowSeparator(uil,crr)->Expand=1;
 | 
											
												
													
														|  | 
 |  | +        //    laShowItem(uil,crr,This,"reset");
 | 
											
												
													
														|  | 
 |  | +        //}laEndRow(uil,b2);
 | 
											
												
													
														|  | 
 |  | +        laUiItem* ui=laShowItem(uil,cr,This,"use_operator"); ui->Flags|=LA_UI_FLAGS_EXPAND;
 | 
											
												
													
														|  | 
 |  | +        b4=laOnConditionThat(uil,cr,laPropExpression(&ui->PP,""));{\
 | 
											
												
													
														|  | 
 |  | +            laShowLabel(uil,cl,"Args",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +            laShowItem(uil,cr,This,"operator_arguments");
 | 
											
												
													
														|  | 
 |  | +        }laEndCondition(uil,b4);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        laShowLabel(uil,cl,"Disp",0,0)->Flags|=LA_TEXT_ALIGN_RIGHT|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +        laShowItem(uil,cr,This,"key");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        laShowSeparator(uil,c);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    }laElse(uil,b1);{
 | 
											
												
													
														|  | 
 |  | +        laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +        b2=laBeginRow(uil,cr,0,0);{
 | 
											
												
													
														|  | 
 |  | +            laShowItem(uil,cr,This,"use_operator")->Flags=LA_UI_FLAGS_ICON|LA_UI_FLAGS_PLAIN;
 | 
											
												
													
														|  | 
 |  | +            b3=laOnConditionThat(uil,cr,laPropExpression(This,"use_operator"));{
 | 
											
												
													
														|  | 
 |  | +                laUiItem* ui=laShowItem(uil,cr,This,"operator_name");ui->Expand=1;ui->Flags|=LA_UI_FLAGS_PLAIN;
 | 
											
												
													
														|  | 
 |  | +            }laElse(uil,b3);{
 | 
											
												
													
														|  | 
 |  | +                laUiItem* ui=laShowItem(uil,cr,This,"signal");ui->Expand=1;ui->Flags|=LA_UI_FLAGS_PLAIN;
 | 
											
												
													
														|  | 
 |  | +            }laEndCondition(uil,b3);
 | 
											
												
													
														|  | 
 |  | +            laShowItem(uil,cr,This,"remove")->Flags|=LA_UI_FLAGS_ICON;
 | 
											
												
													
														|  | 
 |  | +        }laEndRow(uil,b2);
 | 
											
												
													
														|  | 
 |  | +    }laEndCondition(uil,b1);
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void laui_ToolboxListing(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil);laSplitColumn(uil,c,0.25);
 | 
											
												
													
														|  | 
 |  | +    laColumn* cl=laLeftColumn(c,3),*cr=laRightColumn(c,0);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    laUiItem* b=laBeginRow(uil,c,0,0);
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil,c,This,"new_entry",0,"position=top;",0,0);
 | 
											
												
													
														|  | 
 |  | +    laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +    laShowSeparator(uil,c);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    //laShowColumnAdjuster(uil,c);
 | 
											
												
													
														|  | 
 |  | +    //laShowLabel(uil,cl,"✓",0,0)->Flags|=LA_TEXT_ALIGN_CENTER|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +    //laShowLabel(uil,crl,"Operation",0,0)->Flags|=LA_TEXT_ALIGN_CENTER|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +    //laShowLabel(uil,crr,"Input",0,0)->Flags|=LA_TEXT_ALIGN_CENTER|LA_UI_FLAGS_DISABLED;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil,c,This,"entries",0,0,laui_ToolboxEntry,0)->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    laShowSeparator(uil,c);
 | 
											
												
													
														|  | 
 |  | +    b=laBeginRow(uil,c,0,0);
 | 
											
												
													
														|  | 
 |  | +    laShowItem(uil,c,This,"new_entry");
 | 
											
												
													
														|  | 
 |  | +    laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void lauidetached_Toolbox(laPanel* p){
 | 
											
												
													
														|  | 
 |  | +    la_MakeDetachedProp(p, "la.input_mapping.current_toolbox", "toolbox");
 | 
											
												
													
														|  | 
 |  | +    la_MakeDetachedProp(p, "la.input_mapping.toolbox_layout","layout");
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void laui_Toolbox(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil); laSplitColumn(uil,c,0.2);
 | 
											
												
													
														|  | 
 |  | +    laColumn* cl=laLeftColumn(c,1), *cr=laRightColumn(c,0);
 | 
											
												
													
														|  | 
 |  | +    laUiItem* cui=laShowInvisibleItem(uil,c,Extra,"layout");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    laUiItem* b0=laOnConditionThat(uil,c,laEqual(laPropExpression(&cui->PP,""),laIntExpression(0)));{
 | 
											
												
													
														|  | 
 |  | +        laUiItem* ui=laShowItemFull(uil,c,Extra,"toolbox.entries",0,0,laui_ToolboxEntryButton,0);
 | 
											
												
													
														|  | 
 |  | +        ui->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +        laUiItem* b=laBeginRow(uil,c,0,0);{
 | 
											
												
													
														|  | 
 |  | +            laUiList* muil=laMakeMenuPageEx(uil,c,"☰",LA_UI_FLAGS_NO_DECAL); laColumn* mc=laFirstColumn(muil);
 | 
											
												
													
														|  | 
 |  | +            laUiItem* b1=laBeginRow(muil,mc,0,0);{
 | 
											
												
													
														|  | 
 |  | +                laShowItemFull(muil,mc,Extra,"toolbox",LA_WIDGET_COLLECTION_SELECTOR,0,laui_IdentifierOnly,0)->Flags|=LA_UI_COLLECTION_SIMPLE_SELECTOR;
 | 
											
												
													
														|  | 
 |  | +                laShowItemFull(muil,mc, 0, "LA_panel_activator", 0, "panel_id=LAUI_toolbox_editor;icon=🖍;", 0, 0)->Flags|=LA_UI_FLAGS_ICON;
 | 
											
												
													
														|  | 
 |  | +                laShowItemFull(muil,mc,Extra,"layout",0,0,0,0)->Flags|=LA_UI_FLAGS_EXPAND;
 | 
											
												
													
														|  | 
 |  | +            }laEndRow(muil,b1);
 | 
											
												
													
														|  | 
 |  | +        }laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +    }laElse(uil,b0);{
 | 
											
												
													
														|  | 
 |  | +        laUiItem* b=laBeginRow(uil,cl,0,0);{
 | 
											
												
													
														|  | 
 |  | +            laUiList* muil=laMakeMenuPageEx(uil,cl,"☰",LA_UI_FLAGS_NO_DECAL); laColumn* mc=laFirstColumn(muil);
 | 
											
												
													
														|  | 
 |  | +            laUiItem* b1=laBeginRow(muil,mc,0,0);{
 | 
											
												
													
														|  | 
 |  | +                laShowItemFull(muil,mc,Extra,"toolbox",LA_WIDGET_COLLECTION_SELECTOR,0,laui_IdentifierOnly,0)->Flags|=LA_UI_COLLECTION_SIMPLE_SELECTOR;
 | 
											
												
													
														|  | 
 |  | +                laShowItemFull(muil,mc, 0, "LA_panel_activator", 0, "panel_id=LAUI_toolbox_editor;icon=🖍;", 0, 0)->Flags|=LA_UI_FLAGS_ICON;
 | 
											
												
													
														|  | 
 |  | +                laShowItemFull(muil,mc,Extra,"layout",0,0,0,0)->Flags|=LA_UI_FLAGS_EXPAND;
 | 
											
												
													
														|  | 
 |  | +            }laEndRow(muil,b1);
 | 
											
												
													
														|  | 
 |  | +        }laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +    }laEndCondition(uil,b0);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +#define ADD_WIDTH_OF(n) \
 | 
											
												
													
														|  | 
 |  | +    b0=laOnConditionThat(uil,cr,laEqual(laPropExpression(&cui->PP,""),laIntExpression(n)));{ \
 | 
											
												
													
														|  | 
 |  | +        laUiItem* ui=laShowItemFull(uil,cr,Extra,"toolbox.entries",0,0,laui_ToolboxEntryButton,0); \
 | 
											
												
													
														|  | 
 |  | +        ui->Flags|=LA_UI_FLAGS_NO_DECAL;  ui->Expand=n; \
 | 
											
												
													
														|  | 
 |  | +    }laEndCondition(uil,b0)
 | 
											
												
													
														|  | 
 |  | +    
 | 
											
												
													
														|  | 
 |  | +    ADD_WIDTH_OF(3);
 | 
											
												
													
														|  | 
 |  | +    ADD_WIDTH_OF(5);
 | 
											
												
													
														|  | 
 |  | +    ADD_WIDTH_OF(8);
 | 
											
												
													
														|  | 
 |  | +    ADD_WIDTH_OF(13);
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +void laui_ToolboxEditor(laUiList *uil, laPropPack *This, laPropPack *Extra, laColumn *UNUSED, int context){
 | 
											
												
													
														|  | 
 |  | +    laColumn* c=laFirstColumn(uil);
 | 
											
												
													
														|  | 
 |  | +    laUiItem* b=laBeginRow(uil,c,0,0);
 | 
											
												
													
														|  | 
 |  | +    laShowItemFull(uil,c,0,"la.input_mapping.current_toolbox",LA_WIDGET_COLLECTION_SELECTOR,0,laui_IdentifierOnly,0)
 | 
											
												
													
														|  | 
 |  | +        ->Flags|=LA_UI_COLLECTION_SIMPLE_SELECTOR;
 | 
											
												
													
														|  | 
 |  | +    laUiItem* b3=laOnConditionThat(uil,c,laPropExpression(0,"la.input_mapping.current_toolbox"));{
 | 
											
												
													
														|  | 
 |  | +        laShowItem(uil,c,0,"la.input_mapping.current_toolbox.name");
 | 
											
												
													
														|  | 
 |  | +        laShowItem(uil,c,0,"LA_new_toolbox")->Flags|=LA_UI_FLAGS_ICON;
 | 
											
												
													
														|  | 
 |  | +        laShowSeparator(uil,c);
 | 
											
												
													
														|  | 
 |  | +        laUiItem* cp=laShowInvisibleItem(uil,c,0,"la.input_mapping.current_toolbox");
 | 
											
												
													
														|  | 
 |  | +        laShowItem(uil,c,&cp->PP,"remove");
 | 
											
												
													
														|  | 
 |  | +    }laElse(uil,b3);{
 | 
											
												
													
														|  | 
 |  | +        laShowItem(uil,c,0,"LA_new_toolbox");
 | 
											
												
													
														|  | 
 |  | +    }laEndCondition(uil,b3);
 | 
											
												
													
														|  | 
 |  | +    laEndRow(uil,b);
 | 
											
												
													
														|  | 
 |  | +    b3=laOnConditionThat(uil,c,laPropExpression(0,"la.input_mapping.current_toolbox"));{
 | 
											
												
													
														|  | 
 |  | +        laUiItem* gui=laMakeEmptyGroup(uil,c,0,0); laUiList* guil=gui->Page; laColumn* gc=laFirstColumn(guil); guil->HeightCoeff=-1;
 | 
											
												
													
														|  | 
 |  | +        laShowItemFull(guil,gc,0,"la.input_mapping.current_toolbox",LA_WIDGET_COLLECTION_SINGLE,0,laui_ToolboxListing,0)->Flags|=LA_UI_FLAGS_NO_DECAL;
 | 
											
												
													
														|  | 
 |  | +    }laEndCondition(uil,b3);
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  void lauidetached_Drivers(laPanel* p){
 |  |  void lauidetached_Drivers(laPanel* p){
 | 
											
												
													
														|  |      la_MakeDetachedProp(p, "la.detached_view_switch", "detached");
 |  |      la_MakeDetachedProp(p, "la.detached_view_switch", "detached");
 | 
											
												
													
														|  |      la_MakeDetachedProp(p, "tns.world.root_objects", "root_object");
 |  |      la_MakeDetachedProp(p, "tns.world.root_objects", "root_object");
 | 
											
										
											
												
													
														|  | @@ -2335,8 +2492,7 @@ void la_RegisterBuiltinTemplates(){
 | 
											
												
													
														|  |      int his=MAIN.InitArgs.HasHistories;
 |  |      int his=MAIN.InitArgs.HasHistories;
 | 
											
												
													
														|  |      int ter=MAIN.InitArgs.HasTerminal;
 |  |      int ter=MAIN.InitArgs.HasTerminal;
 | 
											
												
													
														|  |      int act=MAIN.InitArgs.HasAction&&obj;
 |  |      int act=MAIN.InitArgs.HasAction&&obj;
 | 
											
												
													
														|  | -            laRegisterUiTemplate("LAUI_input_mapping","Input Mapping",laui_InputMappingBundle,0,0,"Controlling",0,0,0);
 |  | 
 | 
											
												
													
														|  | -            laRegisterUiTemplate("LAUI_controllers", "Controllers", laui_GameController, lauidetached_GameController, 0,0,0,0,0);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            laRegisterUiTemplate("LAUI_toolbox","Toolbox",laui_Toolbox,lauidetached_Toolbox,0,"Toolboxes",0,0,0);
 | 
											
												
													
														|  |      if(obj) laRegisterUiTemplate("LAUI_scene", "Scene", tnsui_ScenePanel, tnsui_DetachedScenePanel, 0, 0, 0,25,25);
 |  |      if(obj) laRegisterUiTemplate("LAUI_scene", "Scene", tnsui_ScenePanel, tnsui_DetachedScenePanel, 0, 0, 0,25,25);
 | 
											
												
													
														|  |      if(obj) laRegisterUiTemplate("LAUI_world_hierachy","World",tnsui_WorldHierachy,0,0,0,0,0,0);
 |  |      if(obj) laRegisterUiTemplate("LAUI_world_hierachy","World",tnsui_WorldHierachy,0,0,0,0,0,0);
 | 
											
												
													
														|  |      if(obj) laRegisterUiTemplate("LAUI_object_properties", "Properties", tnsui_ObjectProperties, tnsuidetached_ObjectProperties, 0, 0, 0,15,25);
 |  |      if(obj) laRegisterUiTemplate("LAUI_object_properties", "Properties", tnsui_ObjectProperties, tnsuidetached_ObjectProperties, 0, 0, 0,15,25);
 | 
											
										
											
												
													
														|  | @@ -2346,6 +2502,9 @@ void la_RegisterBuiltinTemplates(){
 | 
											
												
													
														|  |      if(obj) laRegisterUiTemplate("LAUI_materials","Materials",laui_Materials,lauidetached_Materials,0,0,0,0,0);
 |  |      if(obj) laRegisterUiTemplate("LAUI_materials","Materials",laui_Materials,lauidetached_Materials,0,0,0,0,0);
 | 
											
												
													
														|  |              
 |  |              
 | 
											
												
													
														|  |              laRegisterUiTemplate("LAUI_user_preferences", "User Preferences", laui_UserPreference, 0, 0, "System",0,25,25);
 |  |              laRegisterUiTemplate("LAUI_user_preferences", "User Preferences", laui_UserPreference, 0, 0, "System",0,25,25);
 | 
											
												
													
														|  | 
 |  | +            laRegisterUiTemplate("LAUI_toolbox_editor","Toolbox Editor",laui_ToolboxEditor,0,0,0,0,0,0);
 | 
											
												
													
														|  | 
 |  | +            laRegisterUiTemplate("LAUI_input_mapping","Input Mapping",laui_InputMappingBundle,0,0,0,0,0,0);
 | 
											
												
													
														|  | 
 |  | +            laRegisterUiTemplate("LAUI_controllers", "Controllers", laui_GameController, lauidetached_GameController, 0,0,0,0,0);\
 | 
											
												
													
														|  |      if(tex) laRegisterUiTemplate("LAUI_texture_inspector", "Texture Inspector", laui_TextureInspector, lauidetached_TextureInspector, 0, 0, 0,0,0);
 |  |      if(tex) laRegisterUiTemplate("LAUI_texture_inspector", "Texture Inspector", laui_TextureInspector, lauidetached_TextureInspector, 0, 0, 0,0,0);
 | 
											
												
													
														|  |              laRegisterUiTemplate("LAUI_data_manager", "Data Manager", laui_IdleDataManager, lauidetached_IdleDataManager, 0, 0, 0,25,25);
 |  |              laRegisterUiTemplate("LAUI_data_manager", "Data Manager", laui_IdleDataManager, lauidetached_IdleDataManager, 0, 0, 0,25,25);
 | 
											
												
													
														|  |      if(his) laRegisterUiTemplate("LAUI_histories", "Histories", laui_UndoHistories, 0, 0, 0, 0,10,25);
 |  |      if(his) laRegisterUiTemplate("LAUI_histories", "Histories", laui_UndoHistories, 0, 0, 0, 0,10,25);
 |