Difference between revisions of "CT MENU STRIP"
(redirected to DialogControls-Menu) |
(page overhaul) Tag: Removed redirect |
||
Line 1: | Line 1: | ||
− | # | + | {{CT|intro |
+ | |macro = CT_MENU_STRIP | ||
+ | |value = 47 | ||
+ | |description = Control with expandable sublists. The top bar in 3den uses this CT. | ||
+ | |gallery=File:a3 ct menu strip.jpg{{!}}[[CT_MENU_STRIP]] in [[Eden Editor]]. | ||
+ | |commands = | ||
+ | * [[:Category:Command_Group:_GUI_Control_-_Menu|Commands: Menu]] | ||
+ | |events = | ||
+ | }} | ||
+ | |||
+ | {{CT|abc start}} | ||
+ | === A === | ||
+ | {{CT|attribute | ||
+ | |name=arrow | ||
+ | |type1=String | ||
+ | |value1="\a3\3DEN\Data\Controls\ctrlMenu\arrow_ca.paa" | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | === C === | ||
+ | {{CT|attribute | ||
+ | |name=colorBorder | ||
+ | |type1=Array | ||
+ | |value1={0,0,0,0} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorPicture | ||
+ | |type1=Array | ||
+ | |value1={1,1,1,1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorPictureDisabled | ||
+ | |type1=Array | ||
+ | |value1={1,1,1,0.5} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorPictureSelect | ||
+ | |type1=Array | ||
+ | |value1={0,0,0,1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorSelect | ||
+ | |type1=Array | ||
+ | |value1={0,0,0,1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorSelectBackground | ||
+ | |type1=Array | ||
+ | |value1={"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorStripBackground | ||
+ | |type1=Array | ||
+ | |value1={0,0,0,0} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorStripDisabled | ||
+ | |type1=Array | ||
+ | |value1={1,1,1,0.25} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorStripSelect | ||
+ | |type1=Array | ||
+ | |value1={0,0,0,1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorStripSelectBackground | ||
+ | |type1=Array | ||
+ | |value1={"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=colorStripText | ||
+ | |type1=Array | ||
+ | |value1={1,1,1,1} | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | === I === | ||
+ | {{CT|attribute | ||
+ | |name=Items | ||
+ | |type1=Class | ||
+ | |value1=class Items | ||
+ | { | ||
+ | items[] = {"File","Edit","View","Attributes","Tools","Options","Preview","Help"}; | ||
+ | class File | ||
+ | { | ||
+ | text = "Scenario"; | ||
+ | items[] = {"MissionNew","MissionOpen","MissionSave","MissionSaveAs","Separator","MissionPublishSteam","MissionExport","MissionMerge","Separator","MissionStats","MissionAddons","MissionFolder","LogFolder","Separator","Exit"}; | ||
+ | data = "test1"; | ||
+ | value = 1; | ||
+ | }; | ||
+ | class MissionNew | ||
+ | { | ||
+ | text = "New"; | ||
+ | data = "MissionNew"; | ||
+ | shortcuts[] = {"512 + 0x31"}; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\new_ca.paa"; | ||
+ | opensNewWindow = 1; | ||
+ | }; | ||
+ | class MissionOpen | ||
+ | { | ||
+ | text = "Open"; | ||
+ | data = "MissionLoad"; | ||
+ | shortcuts[] = {"512 + 0x18"}; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\open_ca.paa"; | ||
+ | opensNewWindow = 1; | ||
+ | }; | ||
+ | class MissionSave | ||
+ | { | ||
+ | text = "Save"; | ||
+ | data = "MissionSave"; | ||
+ | shortcuts[] = {"512 + 0x1F"}; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\save_ca.paa"; | ||
+ | }; | ||
+ | class MissionSaveAs | ||
+ | { | ||
+ | text = "Save As"; | ||
+ | data = "MissionSaveAs"; | ||
+ | shortcuts[] = {"512 + 1024 + 0x1F"}; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\saveas_ca.paa"; | ||
+ | opensNewWindow = 1; | ||
+ | }; | ||
+ | class MissionPublishSteam | ||
+ | { | ||
+ | text = "Publish to Steam Workshop"; | ||
+ | data = "MissionPublishSteam"; | ||
+ | enable = 1; | ||
+ | action = "do3DENAction 'OpenSteamPublishDialog';"; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\steam_ca.paa"; | ||
+ | }; | ||
+ | class MissionExport | ||
+ | { | ||
+ | text = "Export"; | ||
+ | items[] = {"MissionExportSP","MissionExportMP","MissionTerrainBuilder","MissionExportSQF"}; | ||
+ | }; | ||
+ | class MissionExportSP | ||
+ | { | ||
+ | text = "Export to Singleplayer"; | ||
+ | data = "MissionExportSP"; | ||
+ | }; | ||
+ | class MissionExportMP | ||
+ | { | ||
+ | text = "Export to Multiplayer"; | ||
+ | data = "MissionExportMP"; | ||
+ | }; | ||
+ | class MissionTerrainBuilder | ||
+ | { | ||
+ | text = "Export to Terrain Builder"; | ||
+ | data = "MissionExportTerrainBuilder"; | ||
+ | action = "[] spawn bis_fnc_3DENExportTerrainBuilder;"; | ||
+ | }; | ||
+ | class MissionExportSQF | ||
+ | { | ||
+ | text = "Export to SQF"; | ||
+ | action = "[] call bis_fnc_3DENExportSQF;"; | ||
+ | }; | ||
+ | class MissionMerge | ||
+ | { | ||
+ | text = "Merge"; | ||
+ | data = "MissionMerge"; | ||
+ | shortcuts[] = {"512 + 0x32"}; | ||
+ | }; | ||
+ | class MissionFolder | ||
+ | { | ||
+ | text = "Open Scenario Folder"; | ||
+ | data = "FolderMission"; | ||
+ | }; | ||
+ | class MissionAddons | ||
+ | { | ||
+ | text = "Show Required Addons"; | ||
+ | data = "OpenRequiredAddons"; | ||
+ | }; | ||
+ | class MissionStats | ||
+ | { | ||
+ | text = "Statistics"; | ||
+ | action = "[] call bis_fnc_3DENMissionStats;"; | ||
+ | }; | ||
+ | class LogFolder | ||
+ | { | ||
+ | text = "Open Log Folder"; | ||
+ | data = "FolderLog"; | ||
+ | }; | ||
+ | class Exit | ||
+ | { | ||
+ | text = "Exit"; | ||
+ | data = "Exit3DEN"; | ||
+ | }; | ||
+ | class Edit | ||
+ | { | ||
+ | text = "Edit"; | ||
+ | items[] = {"Undo","Redo","Separator","EntitySelectScreen","Separator","Widget","Grid","Vertical","SurfaceSnapToggle","WaypointSnapToggle","Separator","Space","Mode"}; | ||
+ | }; | ||
+ | class Undo | ||
+ | { | ||
+ | text = "Undo"; | ||
+ | data = "Undo"; | ||
+ | shortcuts[] = {"512 + 0x2C"}; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\undo_ca.paa"; | ||
+ | }; | ||
+ | class Redo | ||
+ | { | ||
+ | text = "Redo"; | ||
+ | data = "Redo"; | ||
+ | shortcuts[] = {"512 + 0x15","512 + 1024 + 0x2C"}; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\redo_ca.paa"; | ||
+ | }; | ||
+ | class EntitySelectScreen | ||
+ | { | ||
+ | text = "Select All on Screen"; | ||
+ | data = "SelectAllOnScreen"; | ||
+ | shortcuts[] = {"512 + 0x1E"}; | ||
+ | }; | ||
+ | class EntityCut | ||
+ | { | ||
+ | text = "Cut"; | ||
+ | data = "CutUnit"; | ||
+ | shortcuts[] = {"512 + 0x2D"}; | ||
+ | }; | ||
+ | class EntityCopy | ||
+ | { | ||
+ | text = "Copy"; | ||
+ | data = "CopyUnit"; | ||
+ | shortcuts[] = {"512 + 0x2E"}; | ||
+ | }; | ||
+ | class EntityPaste | ||
+ | { | ||
+ | text = "Paste"; | ||
+ | data = "PasteUnit"; | ||
+ | shortcuts[] = {"512 + 0x2F"}; | ||
+ | }; | ||
+ | class EntityPasteOrig | ||
+ | { | ||
+ | text = "Paste on Original Position"; | ||
+ | data = "PasteUnitOrig"; | ||
+ | shortcuts[] = {"512 + 1024 + 0x2F"}; | ||
+ | }; | ||
+ | class EntitySimulation | ||
+ | { | ||
+ | xtext = "Preview Simulation"; | ||
+ | data = "SimulateUnit"; | ||
+ | shortcuts[] = {"512 + 0x19"}; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class Widget | ||
+ | { | ||
+ | text = "Transformation Widget"; | ||
+ | items[] = {"WidgetToggle","WidgetNone","WidgetTranslation","WidgetRotation","WidgetScaling","WidgetArea"}; | ||
+ | }; | ||
+ | class WidgetToggle | ||
+ | { | ||
+ | text = "Toggle Widget"; | ||
+ | data = "WidgetToggle"; | ||
+ | shortcuts[] = {57}; | ||
+ | }; | ||
+ | class WidgetNone | ||
+ | { | ||
+ | text = "No Widget"; | ||
+ | data = "WidgetNone"; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_none_off_ca.paa"; | ||
+ | shortcuts[] = {2}; | ||
+ | }; | ||
+ | class WidgetTranslation | ||
+ | { | ||
+ | text = "Translation Widget"; | ||
+ | data = "WidgetTranslation"; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_translation_off_ca.paa"; | ||
+ | shortcuts[] = {3}; | ||
+ | }; | ||
+ | class WidgetRotation | ||
+ | { | ||
+ | text = "Rotation Widget"; | ||
+ | data = "WidgetRotation"; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_rotation_off_ca.paa"; | ||
+ | shortcuts[] = {4}; | ||
+ | }; | ||
+ | class WidgetScaling | ||
+ | { | ||
+ | text = "Area Scaling Widget"; | ||
+ | data = "WidgetScale"; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_scaling_off_ca.paa"; | ||
+ | shortcuts[] = {5}; | ||
+ | }; | ||
+ | class WidgetArea | ||
+ | { | ||
+ | text = "Area Widget"; | ||
+ | data = "WidgetArea"; | ||
+ | picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_area_off_ca.paa"; | ||
+ | shortcuts[] = {6}; | ||
+ | }; | ||
+ | class WidgetSpace | ||
+ | { | ||
+ | text = "Toggle Widget Coordinate Space"; | ||
+ | data = "WidgetSpace"; | ||
+ | shortcuts[] = {34}; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class WidgetSpaceWorld | ||
+ | { | ||
+ | text = "World"; | ||
+ | data = "WidgetSpaceWorld"; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class WidgetSpaceLocal | ||
+ | { | ||
+ | text = "Selected Entity"; | ||
+ | data = "WidgetSpaceLocal"; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class WidgetPosition | ||
+ | { | ||
+ | xtext = "Toggle Position"; | ||
+ | data = "WidgetPosition"; | ||
+ | shortcuts[] = {34}; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class WidgetPositionEntity | ||
+ | { | ||
+ | xtext = "Selected Entity"; | ||
+ | data = "WidgetPositionEntity"; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class WidgetPositionMean | ||
+ | { | ||
+ | xtext = "Mean Position"; | ||
+ | data = "WidgetPositionMean"; | ||
+ | enable = 0; | ||
+ | }; | ||
+ | class Grid | ||
+ | { | ||
+ | text = "Grid"; | ||
+ | items[] = {"GridTranslationToggle","GridRotationToggle","GridScalingToggle","GridDecrease","GridIncrease"}; | ||
+ | }; | ||
+ | class GridTranslationToggle | ||
+ | { | ||
+ | text = "Toggle Translation Grid"; | ||
+ | data = "MoveGridToggle"; | ||
+ | shortcuts[] = {39}; | ||
+ | type = "CheckBox"; | ||
+ | default = "false"; | ||
+ | }; | ||
+ | class GridRotationToggle | ||
+ | { | ||
+ | text = "Toggle Rotation Grid"; | ||
+ | data = "RotateGridToggle"; | ||
+ | type = "CheckBox"; | ||
+ | default = "false"; | ||
+ | }; | ||
+ | class GridScalingToggle | ||
+ | { | ||
+ | text = "Toggle Area Scaling Grid"; | ||
+ | data = "ScaleGridToggle"; | ||
+ | type = "CheckBox"; | ||
+ | default = "false"; | ||
+ | }; | ||
+ | class GridDecrease | ||
+ | { | ||
+ | text = "Decrease Grid Size"; | ||
+ | data = "GridDecrease"; | ||
+ | shortcuts[] = {26}; | ||
+ | action = "['decrease'] call bis_fnc_3DENGrid;"; | ||
+ | }; | ||
+ | class GridIncrease | ||
+ | { | ||
+ | text = "Increase Grid Size"; | ||
+ | data = "GridIncrease"; | ||
+ | shortcuts[] = {27}; | ||
+ | action = "['increase'] call bis_fnc_3DENGrid;"; | ||
+ | }; | ||
+ | class Vertical | ||
+ | { | ||
+ | text = "Vertical Mode"; | ||
+ | items[] = {"VerticalToggle","VerticalATL","VerticalASL"}; | ||
+ | }; | ||
+ | class VerticalToggle | ||
+ | { | ||
+ | text = "Toggle Vertical Mode"; | ||
+ | data = "VerticalToggle"; | ||
+ | shortcuts[] = {40}; | ||
+ | }; | ||
+ | class VerticalATL | ||
+ | { | ||
+ | text = "Above Terrain Level (ATL)"; | ||
+ | data = "VerticalATL"; | ||
+ | }; | ||
+ | class VerticalASL | ||
+ | { | ||
+ | text = "Above Sea Level (ASL)"; | ||
+ | data = "VerticalASL"; | ||
+ | }; | ||
+ | class SurfaceSnapToggle | ||
+ | { | ||
+ | text = "Toggle Surface Snapping"; | ||
+ | data = "SurfaceSnapToggle"; | ||
+ | type = "CheckBox"; | ||
+ | default = "true"; | ||
+ | shortcuts[] = {43}; | ||
+ | }; | ||
+ | class WaypointSnapToggle | ||
+ | { | ||
+ | text = "Toggle Waypoint Snapping"; | ||
+ | data = "WaypointSnapToggle"; | ||
+ | type = "CheckBox"; | ||
+ | default = "true"; | ||
+ | shortcuts[] = {53}; | ||
+ | }; | ||
+ | class Space | ||
+ | { | ||
+ | text = "Phase"; | ||
+ | items[] = {"SpaceMission","SpaceIntro","SpaceOutroWin","SpaceOutroLose"}; | ||
+ | }; | ||
+ | class SpaceMission | ||
+ | { | ||
+ | text = "Scenario"; | ||
+ | data = "MissionPartMission"; | ||
+ | }; | ||
+ | class SpaceIntro | ||
+ | { | ||
+ | text = "Intro"; | ||
+ | data = "MissionPartIntro"; | ||
+ | }; | ||
+ | class SpaceOutroWin | ||
+ | { | ||
+ | text = "Outro - Win"; | ||
+ | data = "MissionPartOutroWin"; | ||
+ | }; | ||
+ | class SpaceOutroLose | ||
+ | { | ||
+ | text = "Outro - Lose"; | ||
+ | data = "MissionPartOutroLoose"; | ||
+ | }; | ||
+ | class Mode | ||
+ | { | ||
+ | text = "Asset Type"; | ||
+ | items[] = {"ModeObject","ModeGroup","ModeTrigger","ModeWaypoint","ModeLogic","ModeMarker","ModeFavorite","SubmodeToggle"}; | ||
+ | }; | ||
+ | class ModeObject | ||
+ | { | ||
+ | text = "Objects"; | ||
+ | data = "SelectObjectMode"; | ||
+ | shortcuts[] = {59}; | ||
+ | }; | ||
+ | class ModeGroup | ||
+ | { | ||
+ | text = "Compositions"; | ||
+ | data = "SelectGroupMode"; | ||
+ | shortcuts[] = {60}; | ||
+ | }; | ||
+ | class ModeTrigger | ||
+ | { | ||
+ | text = "Triggers"; | ||
+ | data = "SelectTriggerMode"; | ||
+ | shortcuts[] = {61}; | ||
+ | }; | ||
+ | class ModeWaypoint | ||
+ | { | ||
+ | text = "Waypoints"; | ||
+ | data = "SelectWaypointMode"; | ||
+ | shortcuts[] = {62}; | ||
+ | }; | ||
+ | |||
+ | |description=List of entries ordered in subclasses. The {{Inline code|Default}} class needs to be defined. | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=itemSpacingH | ||
+ | |type1=Number | ||
+ | |value1=0.01 | ||
+ | |description=Vertical distance between two entries. | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=itemSpacingW | ||
+ | |type1=Number | ||
+ | |value1=0.01 | ||
+ | |description=Horizontal distance between two entries. | ||
+ | }} | ||
+ | |||
+ | === P === | ||
+ | {{CT|attribute | ||
+ | |name=pictureCheckboxDisabled | ||
+ | |type1=String | ||
+ | |value1="#(argb,8,8,3)color(0,0,0,0)" | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=pictureCheckboxEnabled | ||
+ | |type1=String | ||
+ | |value1="\a3\3DEN\Data\Controls\CtrlMenu\pictureCheckboxEnabled_ca.paa" | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=pictureRadioDisabled | ||
+ | |type1=String | ||
+ | |value1="#(argb,8,8,3)color(0,0,0,0)" | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|attribute | ||
+ | |name=pictureRadioEnabled | ||
+ | |type1=String | ||
+ | |value1="\a3\3DEN\Data\Controls\CtrlMenu\pictureRadioEnabled_ca.paa" | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | === R === | ||
+ | {{CT|attribute | ||
+ | |name=rowHeight | ||
+ | |type1=Number | ||
+ | |value1=0 | ||
+ | |description= | ||
+ | }} | ||
+ | |||
+ | {{CT|abc end}} | ||
+ | |||
+ | {{CT|examples}} | ||
+ | |||
+ | None | ||
+ | |||
+ | == Other Examples == | ||
+ | <syntaxhighlight lang="cpp">class MenuStrip | ||
+ | { | ||
+ | idc=120; | ||
+ | type=CT_MENU_STRIP; | ||
+ | colorStripBackground[]={0,0,0,1}; | ||
+ | colorStripText[]={1,1,1,1}; | ||
+ | colorStripSelect[]={0,0,0,1}; | ||
+ | colorStripSelectBackground[]= | ||
+ | { | ||
+ | "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])", | ||
+ | "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])", | ||
+ | "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])", | ||
+ | 1 | ||
+ | }; | ||
+ | colorStripDisabled[]={1,1,1,0.25}; | ||
+ | x="safezoneX"; | ||
+ | y="safezoneY"; | ||
+ | w="safezoneW - 5 * (pixelW * pixelGrid * 0.50)"; | ||
+ | h="5 * (pixelH * pixelGrid * 0.50)"; | ||
+ | colorStripBackground[]={0,0,0,0}; | ||
+ | colorBackground[]={0.1,0.1,0.1,1}; | ||
+ | font="RobotoCondensedLight"; | ||
+ | colorBorder[]={0,0,0,0}; | ||
+ | colorText[]={1,1,1,1}; | ||
+ | colorSelect[]={0,0,0,1}; | ||
+ | colorSelectBackground[]= | ||
+ | { | ||
+ | "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])", | ||
+ | "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])", | ||
+ | "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])", | ||
+ | 1 | ||
+ | }; | ||
+ | colorDisabled[]={1,1,1,0.25}; | ||
+ | colorPicture[]={1,1,1,1}; | ||
+ | colorPictureSelect[]={0,0,0,1}; | ||
+ | colorPictureDisabled[]={1,1,1,0.5}; | ||
+ | arrow="\a3\3DEN\Data\Controls\ctrlMenu\arrow_ca.paa"; | ||
+ | rowHeight=0; | ||
+ | itemSpacingW=0.0099999998; | ||
+ | itemSpacingH=0.0099999998; | ||
+ | pictureCheckboxEnabled="\a3\3DEN\Data\Controls\CtrlMenu\pictureCheckboxEnabled_ca.paa"; | ||
+ | pictureCheckboxDisabled="#(argb,8,8,3)color(0,0,0,0)"; | ||
+ | pictureRadioEnabled="\a3\3DEN\Data\Controls\CtrlMenu\pictureRadioEnabled_ca.paa"; | ||
+ | pictureRadioDisabled="#(argb,8,8,3)color(0,0,0,0)"; | ||
+ | class Items | ||
+ | { | ||
+ | items[]= | ||
+ | { | ||
+ | "entry1", | ||
+ | "entry2", | ||
+ | "entry3", | ||
+ | }; | ||
+ | class entry1 | ||
+ | { | ||
+ | text="First Entry"; | ||
+ | items[]= | ||
+ | { | ||
+ | "sub1_1", | ||
+ | "sub1_2" | ||
+ | }; | ||
+ | }; | ||
+ | class sub1_1 | ||
+ | { | ||
+ | text="First Sub Entry"; | ||
+ | action= systemchat ""Sub entry one."";"; | ||
+ | }; | ||
+ | class sub1_2 | ||
+ | { | ||
+ | text="Second Sub Entry"; | ||
+ | }; | ||
+ | class entry2 | ||
+ | { | ||
+ | text="Entry 2, no sub menu"; | ||
+ | action="systemchat ""Entry 2."";"; | ||
+ | }; | ||
+ | class entry3 | ||
+ | { | ||
+ | text="Fancy entry 3"; | ||
+ | action ="systemchat ""Entry 3."";"; | ||
+ | data="CustomData"; | ||
+ | shortcuts[]= | ||
+ | { | ||
+ | "512 + 0x31" // STRG+N | ||
+ | }; | ||
+ | picture="\a3\3DEN\Data\Displays\Display3DEN\ToolBar\new_ca.paa"; | ||
+ | }; | ||
+ | }; | ||
+ | };</syntaxhighlight> | ||
+ | |||
+ | <syntaxhighlight lang="cpp">class RscMenuStrip | ||
+ | { | ||
+ | idd = -1; | ||
+ | movingEnable = true; | ||
+ | enableSimulation = true; | ||
+ | onLoad = ""; | ||
+ | onUnload = ""; | ||
+ | class Controls | ||
+ | { | ||
+ | class MenuStrip: ctrlMenuStrip | ||
+ | { | ||
+ | idc = 1000; | ||
+ | x = safeZoneX; | ||
+ | y = (safeZoneY + (safezoneH * 0.132)); | ||
+ | w = safezoneW; | ||
+ | h = (safezoneH * 0.03); | ||
+ | class Items | ||
+ | { | ||
+ | items[] = //First Level Entries, when editing an existing menu strip, one can use the += operator to add new entries without overwriting the old ones | ||
+ | { | ||
+ | "Menu1", | ||
+ | "Menu2" | ||
+ | }; | ||
+ | class Menu1 | ||
+ | { | ||
+ | text = "Menu 1"; | ||
+ | items[] = //Second Level Entries | ||
+ | { | ||
+ | "WebLink" | ||
+ | }; | ||
+ | }; | ||
+ | class Menu2 | ||
+ | { | ||
+ | text = "Menu 2"; | ||
+ | items[] = //Second Level Entries | ||
+ | { | ||
+ | "SayHello", | ||
+ | "PlayMusic" | ||
+ | }; | ||
+ | }; | ||
+ | class WebLink | ||
+ | { | ||
+ | text = "Go to Arma 3 Webpage"; //Display name of menu entry | ||
+ | picture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; //Picture shown in front of text | ||
+ | weblink = "https://arma3.com/"; //Opens a web page in default webbrowser | ||
+ | opensNewWindow = 1; //Adds ... after text, indicating that this menu entry will open a new display | ||
+ | }; | ||
+ | class SayHello | ||
+ | { | ||
+ | text = "Say Hello"; | ||
+ | action = "systemChat 'Hello World!'"; //Code executed when entry is clicked | ||
+ | }; | ||
+ | class PlayMusic | ||
+ | { | ||
+ | text = "Play Music"; | ||
+ | picture = "\a3\Modules_F_Curator\Data\portraitMusic_ca.paa"; | ||
+ | action = "playMusic 'Track15_MainTheme'"; | ||
+ | }; | ||
+ | class Default //Default entries, otherwise error is shown upon creation of the display (Needs further investigation) | ||
+ | { | ||
+ | text = "Default"; | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | }; | ||
+ | };</syntaxhighlight> |
Revision as of 13:35, 29 November 2020
Control Types / MACRO (TYPE VALUE) | |
---|---|
Text/Image/Video |
CT_STATIC (0) | CT_EDIT (2) | CT_HTML (9) | CT_STRUCTURED_TEXT (13) |
Buttons |
CT_BUTTON (1) | CT_ACTIVETEXT (11) | CT_SHORTCUTBUTTON (16) | CT_CHECKBOX (77) | CT_XBUTTON (41) |
Lists |
CT_COMBO (4) | CT_TOOLBOX (6) | CT_CHECKBOXES (7) | CT_TREE (12) | CT_CONTROLS_TABLE (19) | CT_XCOMBO (44) | CT_LISTBOX (5) | CT_LISTNBOX (102) | CT_LISTNBOX_CHECKABLE (104) CT_XLISTBOX (45) |
3D Objects |
CT_OBJECT (80) | CT_OBJECT_ZOOM (81) | CT_OBJECT_CONTAINER (82) | CT_OBJECT_CONT_ANIM (83) |
Maps |
CT_MAP (100) | CT_MAP_MAIN (101) |
Meta |
CT_SLIDER (3) | CT_XSLIDER (43) | CT_PROGRESS (8) | CT_CONTROLS_GROUP (15) |
Menu |
CT_CONTEXT_MENU (14) | CT_MENU (46) | CT_MENU_STRIP (47) |
Unknown |
CT_STATIC_SKEW (10) | CT_HITZONES (17) | CT_VEHICLETOGGLES (18) | CT_XKEYDESC (40) | CT_ANIMATED_TEXTURE (45) | CT_LINEBREAK (98) | CT_USER (99) | CT_ITEMSLOT (103) | CT_VEHICLE_DIRECTION (105) |
Introduction
Control with expandable sublists. The top bar in 3den uses this CT.
Related commands & functions
Related User Interface Eventhandlers
Alphabetical Order
#define CT_MENU_STRIP 47
A
arrow
- Type
- String
- Description
- n/a
arrow = "\a3\3DEN\Data\Controls\ctrlMenu\arrow_ca.paa";
C
colorBorder
- Type
- Array
- Description
- n/a
colorBorder[] = {0,0,0,0};
colorPicture
- Type
- Array
- Description
- n/a
colorPicture[] = {1,1,1,1};
colorPictureDisabled
- Type
- Array
- Description
- n/a
colorPictureDisabled[] = {1,1,1,0.5};
colorPictureSelect
- Type
- Array
- Description
- n/a
colorPictureSelect[] = {0,0,0,1};
colorSelect
- Type
- Array
- Description
- n/a
colorSelect[] = {0,0,0,1};
colorSelectBackground
- Type
- Array
- Description
- n/a
colorSelectBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",1};
colorStripBackground
- Type
- Array
- Description
- n/a
colorStripBackground[] = {0,0,0,0};
colorStripDisabled
- Type
- Array
- Description
- n/a
colorStripDisabled[] = {1,1,1,0.25};
colorStripSelect
- Type
- Array
- Description
- n/a
colorStripSelect[] = {0,0,0,1};
colorStripSelectBackground
- Type
- Array
- Description
- n/a
colorStripSelectBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",1};
colorStripText
- Type
- Array
- Description
- n/a
colorStripText[] = {1,1,1,1};
I
Items
- Type
- Class
- Description
- List of entries ordered in subclasses. The Inline code class needs to be defined.
class Items
{
items[] = {"File","Edit","View","Attributes","Tools","Options","Preview","Help"};
class File
{
text = "Scenario";
items[] = {"MissionNew","MissionOpen","MissionSave","MissionSaveAs","Separator","MissionPublishSteam","MissionExport","MissionMerge","Separator","MissionStats","MissionAddons","MissionFolder","LogFolder","Separator","Exit"};
data = "test1";
value = 1;
};
class MissionNew
{
text = "New";
data = "MissionNew";
shortcuts[] = {"512 + 0x31"};
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\new_ca.paa";
opensNewWindow = 1;
};
class MissionOpen
{
text = "Open";
data = "MissionLoad";
shortcuts[] = {"512 + 0x18"};
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\open_ca.paa";
opensNewWindow = 1;
};
class MissionSave
{
text = "Save";
data = "MissionSave";
shortcuts[] = {"512 + 0x1F"};
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\save_ca.paa";
};
class MissionSaveAs
{
text = "Save As";
data = "MissionSaveAs";
shortcuts[] = {"512 + 1024 + 0x1F"};
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\saveas_ca.paa";
opensNewWindow = 1;
};
class MissionPublishSteam
{
text = "Publish to Steam Workshop";
data = "MissionPublishSteam";
enable = 1;
action = "do3DENAction 'OpenSteamPublishDialog';";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\steam_ca.paa";
};
class MissionExport
{
text = "Export";
items[] = {"MissionExportSP","MissionExportMP","MissionTerrainBuilder","MissionExportSQF"};
};
class MissionExportSP
{
text = "Export to Singleplayer";
data = "MissionExportSP";
};
class MissionExportMP
{
text = "Export to Multiplayer";
data = "MissionExportMP";
};
class MissionTerrainBuilder
{
text = "Export to Terrain Builder";
data = "MissionExportTerrainBuilder";
action = "[] spawn bis_fnc_3DENExportTerrainBuilder;";
};
class MissionExportSQF
{
text = "Export to SQF";
action = "[] call bis_fnc_3DENExportSQF;";
};
class MissionMerge
{
text = "Merge";
data = "MissionMerge";
shortcuts[] = {"512 + 0x32"};
};
class MissionFolder
{
text = "Open Scenario Folder";
data = "FolderMission";
};
class MissionAddons
{
text = "Show Required Addons";
data = "OpenRequiredAddons";
};
class MissionStats
{
text = "Statistics";
action = "[] call bis_fnc_3DENMissionStats;";
};
class LogFolder
{
text = "Open Log Folder";
data = "FolderLog";
};
class Exit
{
text = "Exit";
data = "Exit3DEN";
};
class Edit
{
text = "Edit";
items[] = {"Undo","Redo","Separator","EntitySelectScreen","Separator","Widget","Grid","Vertical","SurfaceSnapToggle","WaypointSnapToggle","Separator","Space","Mode"};
};
class Undo
{
text = "Undo";
data = "Undo";
shortcuts[] = {"512 + 0x2C"};
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\undo_ca.paa";
};
class Redo
{
text = "Redo";
data = "Redo";
shortcuts[] = {"512 + 0x15","512 + 1024 + 0x2C"};
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\redo_ca.paa";
};
class EntitySelectScreen
{
text = "Select All on Screen";
data = "SelectAllOnScreen";
shortcuts[] = {"512 + 0x1E"};
};
class EntityCut
{
text = "Cut";
data = "CutUnit";
shortcuts[] = {"512 + 0x2D"};
};
class EntityCopy
{
text = "Copy";
data = "CopyUnit";
shortcuts[] = {"512 + 0x2E"};
};
class EntityPaste
{
text = "Paste";
data = "PasteUnit";
shortcuts[] = {"512 + 0x2F"};
};
class EntityPasteOrig
{
text = "Paste on Original Position";
data = "PasteUnitOrig";
shortcuts[] = {"512 + 1024 + 0x2F"};
};
class EntitySimulation
{
xtext = "Preview Simulation";
data = "SimulateUnit";
shortcuts[] = {"512 + 0x19"};
enable = 0;
};
class Widget
{
text = "Transformation Widget";
items[] = {"WidgetToggle","WidgetNone","WidgetTranslation","WidgetRotation","WidgetScaling","WidgetArea"};
};
class WidgetToggle
{
text = "Toggle Widget";
data = "WidgetToggle";
shortcuts[] = {57};
};
class WidgetNone
{
text = "No Widget";
data = "WidgetNone";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_none_off_ca.paa";
shortcuts[] = {2};
};
class WidgetTranslation
{
text = "Translation Widget";
data = "WidgetTranslation";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_translation_off_ca.paa";
shortcuts[] = {3};
};
class WidgetRotation
{
text = "Rotation Widget";
data = "WidgetRotation";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_rotation_off_ca.paa";
shortcuts[] = {4};
};
class WidgetScaling
{
text = "Area Scaling Widget";
data = "WidgetScale";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_scaling_off_ca.paa";
shortcuts[] = {5};
};
class WidgetArea
{
text = "Area Widget";
data = "WidgetArea";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\widget_area_off_ca.paa";
shortcuts[] = {6};
};
class WidgetSpace
{
text = "Toggle Widget Coordinate Space";
data = "WidgetSpace";
shortcuts[] = {34};
enable = 0;
};
class WidgetSpaceWorld
{
text = "World";
data = "WidgetSpaceWorld";
enable = 0;
};
class WidgetSpaceLocal
{
text = "Selected Entity";
data = "WidgetSpaceLocal";
enable = 0;
};
class WidgetPosition
{
xtext = "Toggle Position";
data = "WidgetPosition";
shortcuts[] = {34};
enable = 0;
};
class WidgetPositionEntity
{
xtext = "Selected Entity";
data = "WidgetPositionEntity";
enable = 0;
};
class WidgetPositionMean
{
xtext = "Mean Position";
data = "WidgetPositionMean";
enable = 0;
};
class Grid
{
text = "Grid";
items[] = {"GridTranslationToggle","GridRotationToggle","GridScalingToggle","GridDecrease","GridIncrease"};
};
class GridTranslationToggle
{
text = "Toggle Translation Grid";
data = "MoveGridToggle";
shortcuts[] = {39};
type = "CheckBox";
default = "false";
};
class GridRotationToggle
{
text = "Toggle Rotation Grid";
data = "RotateGridToggle";
type = "CheckBox";
default = "false";
};
class GridScalingToggle
{
text = "Toggle Area Scaling Grid";
data = "ScaleGridToggle";
type = "CheckBox";
default = "false";
};
class GridDecrease
{
text = "Decrease Grid Size";
data = "GridDecrease";
shortcuts[] = {26};
action = "['decrease'] call bis_fnc_3DENGrid;";
};
class GridIncrease
{
text = "Increase Grid Size";
data = "GridIncrease";
shortcuts[] = {27};
action = "['increase'] call bis_fnc_3DENGrid;";
};
class Vertical
{
text = "Vertical Mode";
items[] = {"VerticalToggle","VerticalATL","VerticalASL"};
};
class VerticalToggle
{
text = "Toggle Vertical Mode";
data = "VerticalToggle";
shortcuts[] = {40};
};
class VerticalATL
{
text = "Above Terrain Level (ATL)";
data = "VerticalATL";
};
class VerticalASL
{
text = "Above Sea Level (ASL)";
data = "VerticalASL";
};
class SurfaceSnapToggle
{
text = "Toggle Surface Snapping";
data = "SurfaceSnapToggle";
type = "CheckBox";
default = "true";
shortcuts[] = {43};
};
class WaypointSnapToggle
{
text = "Toggle Waypoint Snapping";
data = "WaypointSnapToggle";
type = "CheckBox";
default = "true";
shortcuts[] = {53};
};
class Space
{
text = "Phase";
items[] = {"SpaceMission","SpaceIntro","SpaceOutroWin","SpaceOutroLose"};
};
class SpaceMission
{
text = "Scenario";
data = "MissionPartMission";
};
class SpaceIntro
{
text = "Intro";
data = "MissionPartIntro";
};
class SpaceOutroWin
{
text = "Outro - Win";
data = "MissionPartOutroWin";
};
class SpaceOutroLose
{
text = "Outro - Lose";
data = "MissionPartOutroLoose";
};
class Mode
{
text = "Asset Type";
items[] = {"ModeObject","ModeGroup","ModeTrigger","ModeWaypoint","ModeLogic","ModeMarker","ModeFavorite","SubmodeToggle"};
};
class ModeObject
{
text = "Objects";
data = "SelectObjectMode";
shortcuts[] = {59};
};
class ModeGroup
{
text = "Compositions";
data = "SelectGroupMode";
shortcuts[] = {60};
};
class ModeTrigger
{
text = "Triggers";
data = "SelectTriggerMode";
shortcuts[] = {61};
};
class ModeWaypoint
{
text = "Waypoints";
data = "SelectWaypointMode";
shortcuts[] = {62};
};
itemSpacingH
- Type
- Number
- Description
- Vertical distance between two entries.
itemSpacingH = 0.01;
itemSpacingW
- Type
- Number
- Description
- Horizontal distance between two entries.
itemSpacingW = 0.01;
P
pictureCheckboxDisabled
- Type
- String
- Description
- n/a
pictureCheckboxDisabled = "#(argb,8,8,3)color(0,0,0,0)";
pictureCheckboxEnabled
- Type
- String
- Description
- n/a
pictureCheckboxEnabled = "\a3\3DEN\Data\Controls\CtrlMenu\pictureCheckboxEnabled_ca.paa";
pictureRadioDisabled
- Type
- String
- Description
- n/a
pictureRadioDisabled = "#(argb,8,8,3)color(0,0,0,0)";
pictureRadioEnabled
- Type
- String
- Description
- n/a
pictureRadioEnabled = "\a3\3DEN\Data\Controls\CtrlMenu\pictureRadioEnabled_ca.paa";
R
rowHeight
- Type
- Number
- Description
- n/a
rowHeight = 0;
Default Classes
None
Other Examples
class MenuStrip
{
idc=120;
type=CT_MENU_STRIP;
colorStripBackground[]={0,0,0,1};
colorStripText[]={1,1,1,1};
colorStripSelect[]={0,0,0,1};
colorStripSelectBackground[]=
{
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
1
};
colorStripDisabled[]={1,1,1,0.25};
x="safezoneX";
y="safezoneY";
w="safezoneW - 5 * (pixelW * pixelGrid * 0.50)";
h="5 * (pixelH * pixelGrid * 0.50)";
colorStripBackground[]={0,0,0,0};
colorBackground[]={0.1,0.1,0.1,1};
font="RobotoCondensedLight";
colorBorder[]={0,0,0,0};
colorText[]={1,1,1,1};
colorSelect[]={0,0,0,1};
colorSelectBackground[]=
{
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
1
};
colorDisabled[]={1,1,1,0.25};
colorPicture[]={1,1,1,1};
colorPictureSelect[]={0,0,0,1};
colorPictureDisabled[]={1,1,1,0.5};
arrow="\a3\3DEN\Data\Controls\ctrlMenu\arrow_ca.paa";
rowHeight=0;
itemSpacingW=0.0099999998;
itemSpacingH=0.0099999998;
pictureCheckboxEnabled="\a3\3DEN\Data\Controls\CtrlMenu\pictureCheckboxEnabled_ca.paa";
pictureCheckboxDisabled="#(argb,8,8,3)color(0,0,0,0)";
pictureRadioEnabled="\a3\3DEN\Data\Controls\CtrlMenu\pictureRadioEnabled_ca.paa";
pictureRadioDisabled="#(argb,8,8,3)color(0,0,0,0)";
class Items
{
items[]=
{
"entry1",
"entry2",
"entry3",
};
class entry1
{
text="First Entry";
items[]=
{
"sub1_1",
"sub1_2"
};
};
class sub1_1
{
text="First Sub Entry";
action= systemchat ""Sub entry one."";";
};
class sub1_2
{
text="Second Sub Entry";
};
class entry2
{
text="Entry 2, no sub menu";
action="systemchat ""Entry 2."";";
};
class entry3
{
text="Fancy entry 3";
action ="systemchat ""Entry 3."";";
data="CustomData";
shortcuts[]=
{
"512 + 0x31" // STRG+N
};
picture="\a3\3DEN\Data\Displays\Display3DEN\ToolBar\new_ca.paa";
};
};
};
class RscMenuStrip
{
idd = -1;
movingEnable = true;
enableSimulation = true;
onLoad = "";
onUnload = "";
class Controls
{
class MenuStrip: ctrlMenuStrip
{
idc = 1000;
x = safeZoneX;
y = (safeZoneY + (safezoneH * 0.132));
w = safezoneW;
h = (safezoneH * 0.03);
class Items
{
items[] = //First Level Entries, when editing an existing menu strip, one can use the += operator to add new entries without overwriting the old ones
{
"Menu1",
"Menu2"
};
class Menu1
{
text = "Menu 1";
items[] = //Second Level Entries
{
"WebLink"
};
};
class Menu2
{
text = "Menu 2";
items[] = //Second Level Entries
{
"SayHello",
"PlayMusic"
};
};
class WebLink
{
text = "Go to Arma 3 Webpage"; //Display name of menu entry
picture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; //Picture shown in front of text
weblink = "https://arma3.com/"; //Opens a web page in default webbrowser
opensNewWindow = 1; //Adds ... after text, indicating that this menu entry will open a new display
};
class SayHello
{
text = "Say Hello";
action = "systemChat 'Hello World!'"; //Code executed when entry is clicked
};
class PlayMusic
{
text = "Play Music";
picture = "\a3\Modules_F_Curator\Data\portraitMusic_ca.paa";
action = "playMusic 'Track15_MainTheme'";
};
class Default //Default entries, otherwise error is shown upon creation of the display (Needs further investigation)
{
text = "Default";
};
};
};
};
};