mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
245 lines
12 KiB
XML
245 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
|
|
<!-- This is the file that defines the actual layout and type of the commands.
|
|
It is divided in different sections (e.g. command definition, command
|
|
placement, ...), with each defining a specific set of properties.
|
|
See the comment before each section for more details about how to
|
|
use it. -->
|
|
|
|
<!-- The VSCT compiler (the tool that translates this file into the binary
|
|
format that VisualStudio will consume) has the ability to run a preprocessor
|
|
on the vsct file; this preprocessor is (usually) the C++ preprocessor, so
|
|
it is possible to define includes and macros with the same syntax used
|
|
in C++ files. Using this ability of the compiler here, we include some files
|
|
defining some of the constants that we will use inside the file. -->
|
|
|
|
<!--This is the file that defines the IDs for all the commands exposed by VisualStudio. -->
|
|
<Extern href="stdidcmd.h" />
|
|
|
|
<!--This header contains the command ids for the menus provided by the shell. -->
|
|
<Extern href="vsshlids.h" />
|
|
|
|
<!--Definition of some VSCT specific constants. In this sample we use it for the IDs inside the guidOfficeIcon group. -->
|
|
<!--<Extern href="msobtnid.h" xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" />-->
|
|
|
|
<!--The Commands section is where we the commands, menus and menu groups are defined.
|
|
This section uses a Guid to identify the package that provides the command defined inside it. -->
|
|
|
|
<!-- http://www.adrianetilston.com/Blog/post/2009/08/20/VSX-Adding-a-top-level-menu-command.aspx -->
|
|
<Commands package="guidCosmos_VS_WindowsPkg">
|
|
<!-- Inside this section we have different sub-sections: one for the menus, another
|
|
for the menu groups, one for the buttons (the actual commands), one for the combos
|
|
and the last one for the bitmaps used. Each element is identified by a command id that
|
|
is a unique pair of guid and numeric identifier; the guid part of the identifier is usually
|
|
called "command set" and is used to group different command inside a logically related
|
|
group; your package should define its own command set in order to avoid collisions
|
|
with command ids defined by other packages. -->
|
|
|
|
<Menus>
|
|
<!-- Cosmos menu on VS main menu -->
|
|
<Menu guid="guidCosmosMenu" id="TopLevelMenu" priority="0x100" type="Menu">
|
|
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS" />
|
|
<Strings>
|
|
<ButtonText>Cosmos</ButtonText>
|
|
<CommandName>Cosmos</CommandName>
|
|
</Strings>
|
|
</Menu>
|
|
|
|
<Menu guid="guidIDEToolbarCmdSet" id="Toolbar" type="Toolbar">
|
|
<CommandFlag>DefaultDocked</CommandFlag>
|
|
<Strings>
|
|
<ButtonText>Cosmos</ButtonText>
|
|
<CommandName>Cosmos Debugger Toolbar</CommandName>
|
|
</Strings>
|
|
</Menu>
|
|
|
|
<Menu guid="guidAsmToolbarCmdSet" id="AsmToolbar" type="ToolWindowToolbar">
|
|
<CommandFlag>DefaultDocked</CommandFlag>
|
|
<Strings>
|
|
<ButtonText>Cosmos Assembly</ButtonText>
|
|
<CommandName>Cosmos Assembly Toolbar</CommandName>
|
|
</Strings>
|
|
</Menu>
|
|
</Menus>
|
|
|
|
<!-- In this section you can define new menu groups. A menu group is a container for
|
|
other menus or buttons (commands); from a visual point of view you can see the
|
|
group as the part of a menu contained between two lines. The parent of a group
|
|
must be a menu. -->
|
|
<Groups>
|
|
<Group guid="guidCosmosMenu" id="TopLevelMenuGroup" priority="0x0600">
|
|
<Parent guid="guidCosmosMenu" id="TopLevelMenu" />
|
|
</Group>
|
|
|
|
<Group guid="guidIDEToolbarCmdSet" id="ToolbarGroup" priority="0x0000">
|
|
<Parent guid="guidIDEToolbarCmdSet" id="Toolbar" />
|
|
</Group>
|
|
|
|
<Group guid="guidAsmToolbarCmdSet" id="AsmToolbarGroup" priority="0x0000">
|
|
<Parent guid="guidAsmToolbarCmdSet" id="AsmToolbar" />
|
|
</Group>
|
|
</Groups>
|
|
|
|
<!--This section defines the elements the user can interact with, like a menu command or a button
|
|
or combo box in a toolbar. -->
|
|
<Buttons>
|
|
<!--To define a menu group you have to specify its ID, the parent menu and its display priority.
|
|
The command is visible and enabled by default. If you need to change the visibility, status, etc, you can use
|
|
the CommandFlag node.
|
|
You can add more than one CommandFlag node e.g.:
|
|
<CommandFlag>DefaultInvisible</CommandFlag>
|
|
<CommandFlag>DynamicVisibility</CommandFlag>
|
|
|
|
If you do not want an image next to your command, remove the Icon node or set it to <Icon guid="guidOfficeIcon" id="msotcidNoIcon" /> -->
|
|
|
|
<!--Cosmos Main Menu -->
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosAssembly" priority="0x0100" type="Button">
|
|
<Parent guid="guidCosmosMenu" id="TopLevelMenuGroup" />
|
|
<Icon guid="guidImages" id="bmpAssemblyIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosAssembly</CommandName>
|
|
<ButtonText>Assembly Window</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosRegisters" priority="0x0101" type="Button">
|
|
<Parent guid="guidCosmosMenu" id="TopLevelMenuGroup" />
|
|
<Icon guid="guidImages" id="bmpRegisterIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosRegisters</CommandName>
|
|
<ButtonText>Registers Window</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosStack" priority="0x0102" type="Button">
|
|
<Parent guid="guidCosmosMenu" id="TopLevelMenuGroup" />
|
|
<Icon guid="guidImages" id="bmpStackIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosStack</CommandName>
|
|
<ButtonText>Stack Window</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosInternal" priority="0x0103" type="Button">
|
|
<Parent guid="guidCosmosMenu" id="TopLevelMenuGroup" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosInternal</CommandName>
|
|
<ButtonText>Internal VSIP Debug Window</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosShowAll" priority="0x0104" type="Button">
|
|
<Parent guid="guidCosmosMenu" id="TopLevelMenuGroup" />
|
|
<Icon guid="guidImages" id="bmpAllIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosShowAll</CommandName>
|
|
<ButtonText>Show All Windows</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosAssembly" priority="0x0100" type="Button">
|
|
<Parent guid="guidIDEToolbarCmdSet" id="ToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpAssemblyIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosAssembly</CommandName>
|
|
<ButtonText>Cosmos - Assembly</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosRegisters" priority="0x0100" type="Button">
|
|
<Parent guid="guidIDEToolbarCmdSet" id="ToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpRegisterIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosRegisters</CommandName>
|
|
<ButtonText>Cosmos - Registers</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosStack" priority="0x0100" type="Button">
|
|
<Parent guid="guidIDEToolbarCmdSet" id="ToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpStackIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosStack</CommandName>
|
|
<ButtonText>Cosmos - Stack</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidCosmosMenu" id="cmdidCosmosShowAll" priority="0x0100" type="Button">
|
|
<Parent guid="guidIDEToolbarCmdSet" id="ToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpAllIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidCosmosShowAll</CommandName>
|
|
<ButtonText>Cosmos - Show All Windows</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
|
|
<Button guid="guidAsmToolbarCmdSet" id="cmdidAsmFilter" priority="0x0100" type="Button">
|
|
<Parent guid="guidAsmToolbarCmdSet" id="AsmToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpAllIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidAsmFilter</CommandName>
|
|
<ButtonText>Filter Assembly Labels</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidAsmToolbarCmdSet" id="cmdidAsmStep" priority="0x0100" type="Button">
|
|
<Parent guid="guidAsmToolbarCmdSet" id="AsmToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpAllIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidAsmStep</CommandName>
|
|
<ButtonText>Step</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
<Button guid="guidAsmToolbarCmdSet" id="cmdidAsmCopy" priority="0x0100" type="Button">
|
|
<Parent guid="guidAsmToolbarCmdSet" id="AsmToolbarGroup" />
|
|
<Icon guid="guidImages" id="bmpAllIcon" />
|
|
<Strings>
|
|
<CommandName>cmdidAsmCopy</CommandName>
|
|
<ButtonText>Copy Assembly</ButtonText>
|
|
</Strings>
|
|
</Button>
|
|
</Buttons>
|
|
|
|
<!--The bitmaps section is used to define the bitmaps that are used for the commands.-->
|
|
<Bitmaps>
|
|
<!-- The bitmap id is defined in a way that is a little bit different from the others:
|
|
the declaration starts with a guid for the bitmap strip, then there is the resource id of the
|
|
bitmap strip containing the bitmaps and then there are the numeric ids of the elements used
|
|
inside a button definition. An important aspect of this declaration is that the element id
|
|
must be the actual index (1-based) of the bitmap inside the bitmap strip. -->
|
|
<Bitmap guid="guidImages" href="Resources\Cosmos.png" usedList="bmpCosmosIcon, bmpAssemblyIcon, bmpRegisterIcon, bmpStackIcon, bmpAllIcon" />
|
|
</Bitmaps>
|
|
</Commands>
|
|
|
|
<Symbols>
|
|
<!-- This is the package guid. -->
|
|
<GuidSymbol name="guidCosmos_VS_WindowsPkg" value="{a82b45e9-2a89-43bd-925d-c7f0edd212aa}" />
|
|
|
|
<GuidSymbol name="guidCosmosMenu" value="{3247C3E4-34B8-4DB0-8748-AD62495A5222}">
|
|
<IDSymbol name="TopLevelMenu" value="0x0100" />
|
|
<IDSymbol name="TopLevelMenuGroup" value="0x0200" />
|
|
<IDSymbol name="cmdidCosmosAssembly" value="0x0101" />
|
|
<IDSymbol name="cmdidCosmosRegisters" value="0x0102" />
|
|
<IDSymbol name="cmdidCosmosStack" value="0x0103" />
|
|
<IDSymbol name="cmdidCosmosInternal" value="0x0108" />
|
|
<IDSymbol name="cmdidCosmosShowAll" value="0x0104" />
|
|
</GuidSymbol>
|
|
|
|
<GuidSymbol name="guidIDEToolbarCmdSet" value="{3d4b3f35-36e7-4cea-8acc-d9601e45c0b5}">
|
|
<IDSymbol name="Toolbar" value="0x1000" />
|
|
<IDSymbol name="ToolbarGroup" value="0x1050" />
|
|
</GuidSymbol>
|
|
<GuidSymbol name="guidAsmToolbarCmdSet" value="{A875EA24-689A-4EAB-B9C2-DAC3EACB9501}">
|
|
<IDSymbol name="AsmToolbar" value="0x1001" />
|
|
<IDSymbol name="AsmToolbarGroup" value="0x1002" />
|
|
<IDSymbol name="cmdidAsmFilter" value="0x0105" />
|
|
<IDSymbol name="cmdidAsmStep" value="0x0106" />
|
|
<IDSymbol name="cmdidAsmCopy" value="0x0107" />
|
|
</GuidSymbol>
|
|
|
|
<GuidSymbol name="guidImages" value="{aa9d88d9-acd2-4f2c-ab40-92887bdce774}">
|
|
<IDSymbol name="bmpCosmosIcon" value="1" />
|
|
<IDSymbol name="bmpAssemblyIcon" value="2" />
|
|
<IDSymbol name="bmpRegisterIcon" value="3" />
|
|
<IDSymbol name="bmpStackIcon" value="4" />
|
|
<IDSymbol name="bmpAllIcon" value="5" />
|
|
</GuidSymbol>
|
|
</Symbols>
|
|
|
|
<KeyBindings>
|
|
<KeyBinding guid="guidCosmosMenu" id="cmdidCosmosShowAll" mod1="CTRL ALT SHIFT" key1="G" key2="A" editor="guidVSStd97" />
|
|
</KeyBindings>
|
|
</CommandTable>
|