aboutsummaryrefslogtreecommitdiff
path: root/src/windows
diff options
context:
space:
mode:
authorBenjamin Kaduk <kaduk@mit.edu>2014-01-17 16:02:13 -0500
committerBen Kaduk <kaduk@mit.edu>2015-04-30 10:47:33 -0400
commitda60312f1352cbd82e39e31398f7ead2e817f119 (patch)
tree64d57a8349241f3695ae3d38b3011dd70fcfde4a /src/windows
parent8f89dc561c1e8464c423bde854b6fd4283497559 (diff)
downloadkrb5-da60312f1352cbd82e39e31398f7ead2e817f119.zip
krb5-da60312f1352cbd82e39e31398f7ead2e817f119.tar.gz
krb5-da60312f1352cbd82e39e31398f7ead2e817f119.tar.bz2
XML Ribbon markup file
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.
Diffstat (limited to 'src/windows')
-rw-r--r--src/windows/leash/Makefile.in6
-rw-r--r--src/windows/leash/kfwribbon.xml131
2 files changed, 137 insertions, 0 deletions
diff --git a/src/windows/leash/Makefile.in b/src/windows/leash/Makefile.in
index 089dbbf..31caf5c 100644
--- a/src/windows/leash/Makefile.in
+++ b/src/windows/leash/Makefile.in
@@ -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
index 0000000..e87fca8
--- /dev/null
+++ b/src/windows/leash/kfwribbon.xml
@@ -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>