]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
XML Ribbon markup file
authorBenjamin Kaduk <kaduk@mit.edu>
Fri, 17 Jan 2014 21:02:13 +0000 (16:02 -0500)
committerTom Yu <tlyu@mit.edu>
Wed, 13 May 2015 20:15:22 +0000 (16:15 -0400)
The standard windows library ribbon interface is either constructed
at runtime or specified in an XML file.  Since we have a static
set of functionality in our ribbon, it is simplest to just use the
XML file.

This should duplicate the interfaces currently provided by the
MFC ribbon, though the menu items in the file menu are slightly
taller than they used to be.

Use uicc.exe to compile the XML to the binary format and produce
a kfwribon.rc resource file and kfwribbon.h header.

(cherry picked from commit da60312f1352cbd82e39e31398f7ead2e817f119)

ticket: 8192
version_fixed: 1.13.3

src/windows/leash/Makefile.in
src/windows/leash/kfwribbon.xml [new file with mode: 0644]

index 089dbbff855d412fc008ee821772ca28343edf4a..31caf5cd468d97d5e0eca0de4e33822b0e6be413 100644 (file)
@@ -105,6 +105,9 @@ $(OUTPRE)$(EXE_NAME).exe: $(OBJS) $(XOBJS) $(LIBS)
          ../lib/$(OUTPRE)libwin.lib atl.lib $(MFCLIB) $(SCLIB)
        copy $@ "$(OUTPRE)MIT Kerberos.exe"
 
+kfwribbon.bml kfwribbon.h kfwribbon.rc: kfwribbon.xml
+       uicc.exe kfwribbon.xml kfwribbon.bml /res:kfwribbon.rc /header:kfwribbon.h /name:KFW_RIBBON
+
 $(RESFILE): Leash.rc res/Leash.rc2 ver.rc ../version.rc ../kerberos.ver
 
 clean::
@@ -113,3 +116,6 @@ clean::
        if exist $(OUTPRE)*.res del $(OUTPRE)*.res
        if exist $(OUTPRE)*.pdb del $(OUTPRE)*.pdb
        if exist *.err del *.err
+       if exist *.bml del *.bml
+       if exist kfwribbon.h del kfwribbon.h
+       if exist kfwribbon.rc del kfwribbon.rc
diff --git a/src/windows/leash/kfwribbon.xml b/src/windows/leash/kfwribbon.xml
new file mode 100644 (file)
index 0000000..e87fca8
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Application xmlns="http://schemas.microsoft.com/windows/2009/Ribbon">
+  <Application.Commands>
+    <Command Name="cmdAppMenu" LabelTitle="Application Menu" />
+    <Command Name="cmdQAT" LabelTitle="" />
+    <Command Name="cmdHelp" LabelTitle="Help" />
+    <Command Name="cmdAbout" LabelTitle="About MIT Kerberos" />
+    <Command Name="cmdExit" LabelTitle="Exit application" />
+    <Command Name="cmdHomeTab" LabelTitle="Home" Keytip="H" />
+    <Command Name="cmdOptionsTab" LabelTitle="Options" Keytip="O" />
+    <Command Name="cmdChangePasswordGroup" LabelTitle="" />
+    <Command Name="cmdTicketGroup" LabelTitle="" />
+    <Command Name="cmdViewOptionsGroup" LabelTitle="View Options" />
+    <Command Name="cmdTicketOptionsGroup" LabelTitle="Ticket Options" />
+    <Command Name="cmdGetTicketButton"
+             LabelTitle="Get Ticket"
+             Keytip="T">
+      <Command.LargeImages>
+        <Image>res/getticketlarge.bmp</Image>
+      </Command.LargeImages>
+    </Command>
+    <Command Name="cmdRenewTicketButton"
+             LabelTitle="Renew Ticket"
+             Keytip="R">
+      <Command.LargeImages>
+        <Image>res/renewlarge.bmp</Image>
+      </Command.LargeImages>
+    </Command>
+    <Command Name="cmdDestroyTicketButton"
+             LabelTitle="Destroy Ticket"
+             Keytip="D">
+      <Command.LargeImages>
+        <Image>res/destroylarge.bmp</Image>
+      </Command.LargeImages>
+    </Command>
+    <Command Name="cmdMakeDefaultButton"
+             LabelTitle="Make Default"
+             Keytip="M">
+      <Command.LargeImages>
+        <Image>res/makedefaultlarge.bmp</Image>
+      </Command.LargeImages>
+    </Command>
+    <Command Name="cmdChangePasswordButton"
+             LabelTitle="Change Password"
+             Keytip="C">
+      <Command.LargeImages>
+        <Image>res/cpwlarge.bmp</Image>
+      </Command.LargeImages>
+    </Command>
+    <Command Name="cmdIssuedCheckBox"
+             LabelTitle="Issued"
+             Keytip="I" />
+    <Command Name="cmdRenewUntilCheckBox"
+             LabelTitle="Renewable Until"
+             Keytip="R" />
+    <Command Name="cmdValidUntilCheckBox"
+             LabelTitle="Valid Until"
+             Keytip="V" />
+    <Command Name="cmdEncTypeCheckBox"
+             LabelTitle="Encryption Type"
+             Keytip="E" />
+    <Command Name="cmdFlagsCheckBox"
+             LabelTitle="Flags"
+             Keytip="F" />
+    <Command Name="cmdAutoRenewCheckBox"
+             LabelTitle="Automatic Ticket Renewal"
+             Keytip="R" />
+    <Command Name="cmdExpireAlarmCheckBox"
+             LabelTitle="Expiration Alarm"
+             Keytip="A" />
+    <Command Name="cmdDestroyOnExitCheckBox"
+             LabelTitle="Destroy Tickets on Exit"
+             Keytip="D" />
+    <Command Name="cmdMixedCaseCheckBox"
+             LabelTitle="Allow Mixed Case Realm Names"
+             Keytip="M" />
+  </Application.Commands>
+  <Application.Views>
+    <Ribbon>
+      <Ribbon.ApplicationMenu>
+        <ApplicationMenu CommandName="cmdAppMenu">
+          <MenuGroup>
+            <Button CommandName="cmdHelp" />
+            <Button CommandName="cmdAbout" />
+            <Button CommandName="cmdExit" />
+          </MenuGroup>
+        </ApplicationMenu>
+      </Ribbon.ApplicationMenu>
+      <Ribbon.QuickAccessToolbar>
+        <QuickAccessToolbar CommandName="cmdQAT" />
+      </Ribbon.QuickAccessToolbar>
+      <Ribbon.Tabs>
+        <Tab CommandName="cmdHomeTab">
+          <Tab.ScalingPolicy>
+            <ScalingPolicy>
+              <ScalingPolicy.IdealSizes>
+                <Scale Group="cmdTicketGroup" Size="Large" />
+                <Scale Group="cmdChangePasswordGroup" Size="Large" />
+              </ScalingPolicy.IdealSizes>
+            </ScalingPolicy>
+          </Tab.ScalingPolicy>
+          <Group CommandName="cmdTicketGroup" SizeDefinition="FourButtons">
+            <Button CommandName="cmdGetTicketButton" />
+            <Button CommandName="cmdRenewTicketButton" />
+            <Button CommandName="cmdDestroyTicketButton" />
+            <Button CommandName="cmdMakeDefaultButton" />
+          </Group>
+          <Group CommandName="cmdChangePasswordGroup"
+                 SizeDefinition="OneButton">
+            <Button CommandName="cmdChangePasswordButton" />
+          </Group>
+        </Tab>
+        <Tab CommandName="cmdOptionsTab">
+          <Group CommandName="cmdViewOptionsGroup">
+            <CheckBox CommandName="cmdIssuedCheckBox" />
+            <CheckBox CommandName="cmdRenewUntilCheckBox" />
+            <CheckBox CommandName="cmdValidUntilCheckBox" />
+            <CheckBox CommandName="cmdEncTypeCheckBox" />
+            <CheckBox CommandName="cmdFlagsCheckBox" />
+          </Group>
+          <Group CommandName="cmdTicketOptionsGroup" >
+            <CheckBox CommandName="cmdAutoRenewCheckBox" />
+            <CheckBox CommandName="cmdExpireAlarmCheckBox" />
+            <CheckBox CommandName="cmdDestroyOnExitCheckBox" />
+            <CheckBox CommandName="cmdMixedCaseCheckBox" />
+          </Group>
+        </Tab>
+      </Ribbon.Tabs>
+    </Ribbon>
+  </Application.Views>
+</Application>