Big WIP on keyboard handling and Menu support
This commit is contained in:
parent
59f0e0a875
commit
30d9c79be0
@ -194,6 +194,443 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1063090248">
|
||||
<reference key="NSMenu" ref="649796088"/>
|
||||
<string key="NSTitle">Edit</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<object class="NSMenu" key="NSSubmenu" id="301937284">
|
||||
<string key="NSTitle">Edit</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="535743562">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Undo</string>
|
||||
<string key="NSKeyEquiv">z</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
<int key="NSTag">5</int>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="844002325">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Redo</string>
|
||||
<string key="NSKeyEquiv">Z</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
<int key="NSTag">6</int>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="431501686">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Cancel Edit</string>
|
||||
<string type="base64-UTF8" key="NSKeyEquiv">Gw</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
<int key="NSTag">7</int>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="813797837">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Clear</string>
|
||||
<string type="base64-UTF8" key="NSKeyEquiv">CA</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="394896491">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="273430780">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Cut</string>
|
||||
<string key="NSKeyEquiv">x</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="495314318">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Copy</string>
|
||||
<string key="NSKeyEquiv">c</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="587899064">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Paste</string>
|
||||
<string key="NSKeyEquiv">v</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="676171511">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="696832775">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Select Track</string>
|
||||
<string key="NSKeyEquiv">t</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="179918578">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="338632322">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias +0.01</string>
|
||||
<string key="NSKeyEquiv">q</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="106037542">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias +0.1</string>
|
||||
<string key="NSKeyEquiv">w</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="177396746">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias +1.0</string>
|
||||
<string key="NSKeyEquiv">e</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="568772262">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias +10.0</string>
|
||||
<string key="NSKeyEquiv">r</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="422046017">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias +100.0</string>
|
||||
<string key="NSKeyEquiv">t</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="971455521">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias +1000.0</string>
|
||||
<string key="NSKeyEquiv">y</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="147794766">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias -0.01</string>
|
||||
<string key="NSKeyEquiv">a</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="804307652">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias -0.1</string>
|
||||
<string key="NSKeyEquiv">s</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="371525525">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias -1.0</string>
|
||||
<string key="NSKeyEquiv">d</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="676214925">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias -10.0</string>
|
||||
<string key="NSKeyEquiv">f</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="817992552">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias -100.0</string>
|
||||
<string key="NSKeyEquiv">g</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="627105425">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Bias -1000.0</string>
|
||||
<string key="NSKeyEquiv">h</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="292529916">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="324120524">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Interpolation mode</string>
|
||||
<string key="NSKeyEquiv">i</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="23492998">
|
||||
<reference key="NSMenu" ref="301937284"/>
|
||||
<string key="NSTitle">Insert current interpolate value</string>
|
||||
<string type="base64-UTF8" key="NSKeyEquiv">DQ</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="371740868">
|
||||
<reference key="NSMenu" ref="649796088"/>
|
||||
<string key="NSTitle">View</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<object class="NSMenu" key="NSSubmenu" id="598576309">
|
||||
<string key="NSTitle">View</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="98309598">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Start/Stop Playback</string>
|
||||
<string type="base64-UTF8" key="NSKeyEquiv">IA</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1027949812">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="557205095">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump 8 rows up</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">524288</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1034979508">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump 8 rows down</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">524288</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="495560802">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump to previous bookmark</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="672956548">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump to next bookmark</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="459180548">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump to first track</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="928942966">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump to last track</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="383281702">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump to previous key</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">262144</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="570668246">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump to next key</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">262144</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="87656023">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="102000755">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Fold track</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">524288</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="113847529">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Unfold track</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">524288</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="750583826">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Fold group</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">786432</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="778214681">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Unfold group</string>
|
||||
<string key="NSKeyEquiv"></string>
|
||||
<int key="NSKeyEquivModMask">786432</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="1033561063">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="303945429">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Toogle bookmark</string>
|
||||
<string key="NSKeyEquiv">b</string>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="955331079">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Clear bookmarks</string>
|
||||
<string key="NSKeyEquiv">b</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="28591382">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="931839081">
|
||||
<reference key="NSMenu" ref="598576309"/>
|
||||
<string key="NSTitle">Jump row,start/endrow & edit</string>
|
||||
<string type="base64-UTF8" key="NSKeyEquiv">GQ</string>
|
||||
<int key="NSKeyEquivModMask">131072</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="35465992"/>
|
||||
<reference key="NSMixedImage" ref="502551668"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMenuItem" id="713487014">
|
||||
<reference key="NSMenu" ref="649796088"/>
|
||||
<string key="NSTitle">Window</string>
|
||||
@ -314,7 +751,7 @@
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="976324537">
|
||||
<string key="NSClassName">MinimalAppAppDelegate</string>
|
||||
<string key="NSClassName">RocketAppDelegate</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="755631768">
|
||||
<string key="NSClassName">NSFontManager</string>
|
||||
@ -411,6 +848,14 @@
|
||||
</object>
|
||||
<int key="connectionID">546</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">buttonClicked:</string>
|
||||
<reference key="source" ref="976324537"/>
|
||||
<reference key="destination" ref="535743562"/>
|
||||
</object>
|
||||
<int key="connectionID">547</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
@ -450,6 +895,8 @@
|
||||
<reference ref="694149608"/>
|
||||
<reference ref="379814623"/>
|
||||
<reference ref="448692316"/>
|
||||
<reference ref="1063090248"/>
|
||||
<reference ref="371740868"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
@ -662,6 +1109,316 @@
|
||||
<reference key="object" ref="264375453"/>
|
||||
<reference key="parent" ref="573498689"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">568</int>
|
||||
<reference key="object" ref="1063090248"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="301937284"/>
|
||||
</object>
|
||||
<reference key="parent" ref="649796088"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">569</int>
|
||||
<reference key="object" ref="301937284"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="535743562"/>
|
||||
<reference ref="371525525"/>
|
||||
<reference ref="106037542"/>
|
||||
<reference ref="177396746"/>
|
||||
<reference ref="568772262"/>
|
||||
<reference ref="422046017"/>
|
||||
<reference ref="971455521"/>
|
||||
<reference ref="147794766"/>
|
||||
<reference ref="804307652"/>
|
||||
<reference ref="179918578"/>
|
||||
<reference ref="676214925"/>
|
||||
<reference ref="817992552"/>
|
||||
<reference ref="627105425"/>
|
||||
<reference ref="324120524"/>
|
||||
<reference ref="23492998"/>
|
||||
<reference ref="292529916"/>
|
||||
<reference ref="844002325"/>
|
||||
<reference ref="431501686"/>
|
||||
<reference ref="273430780"/>
|
||||
<reference ref="495314318"/>
|
||||
<reference ref="587899064"/>
|
||||
<reference ref="394896491"/>
|
||||
<reference ref="813797837"/>
|
||||
<reference ref="676171511"/>
|
||||
<reference ref="696832775"/>
|
||||
<reference ref="338632322"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1063090248"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">570</int>
|
||||
<reference key="object" ref="535743562"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">571</int>
|
||||
<reference key="object" ref="371525525"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">573</int>
|
||||
<reference key="object" ref="696832775"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">574</int>
|
||||
<reference key="object" ref="106037542"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">575</int>
|
||||
<reference key="object" ref="177396746"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">576</int>
|
||||
<reference key="object" ref="568772262"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">577</int>
|
||||
<reference key="object" ref="422046017"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">578</int>
|
||||
<reference key="object" ref="971455521"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">579</int>
|
||||
<reference key="object" ref="147794766"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">580</int>
|
||||
<reference key="object" ref="804307652"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">581</int>
|
||||
<reference key="object" ref="179918578"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">582</int>
|
||||
<reference key="object" ref="676214925"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">583</int>
|
||||
<reference key="object" ref="817992552"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">584</int>
|
||||
<reference key="object" ref="627105425"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">585</int>
|
||||
<reference key="object" ref="324120524"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">586</int>
|
||||
<reference key="object" ref="23492998"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">589</int>
|
||||
<reference key="object" ref="292529916"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">590</int>
|
||||
<reference key="object" ref="844002325"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">591</int>
|
||||
<reference key="object" ref="431501686"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">592</int>
|
||||
<reference key="object" ref="273430780"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">593</int>
|
||||
<reference key="object" ref="495314318"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">594</int>
|
||||
<reference key="object" ref="587899064"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">595</int>
|
||||
<reference key="object" ref="394896491"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">596</int>
|
||||
<reference key="object" ref="813797837"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">597</int>
|
||||
<reference key="object" ref="676171511"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">598</int>
|
||||
<reference key="object" ref="338632322"/>
|
||||
<reference key="parent" ref="301937284"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">677</int>
|
||||
<reference key="object" ref="371740868"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="598576309"/>
|
||||
</object>
|
||||
<reference key="parent" ref="649796088"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">678</int>
|
||||
<reference key="object" ref="598576309"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="98309598"/>
|
||||
<reference ref="557205095"/>
|
||||
<reference ref="1033561063"/>
|
||||
<reference ref="87656023"/>
|
||||
<reference ref="928942966"/>
|
||||
<reference ref="495560802"/>
|
||||
<reference ref="459180548"/>
|
||||
<reference ref="1034979508"/>
|
||||
<reference ref="672956548"/>
|
||||
<reference ref="1027949812"/>
|
||||
<reference ref="383281702"/>
|
||||
<reference ref="570668246"/>
|
||||
<reference ref="102000755"/>
|
||||
<reference ref="113847529"/>
|
||||
<reference ref="750583826"/>
|
||||
<reference ref="778214681"/>
|
||||
<reference ref="931839081"/>
|
||||
<reference ref="303945429"/>
|
||||
<reference ref="28591382"/>
|
||||
<reference ref="955331079"/>
|
||||
</object>
|
||||
<reference key="parent" ref="371740868"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">689</int>
|
||||
<reference key="object" ref="303945429"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">687</int>
|
||||
<reference key="object" ref="1033561063"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">695</int>
|
||||
<reference key="object" ref="87656023"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">686</int>
|
||||
<reference key="object" ref="928942966"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">704</int>
|
||||
<reference key="object" ref="459180548"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">694</int>
|
||||
<reference key="object" ref="495560802"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">709</int>
|
||||
<reference key="object" ref="1027949812"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">700</int>
|
||||
<reference key="object" ref="672956548"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">705</int>
|
||||
<reference key="object" ref="1034979508"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">691</int>
|
||||
<reference key="object" ref="557205095"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">690</int>
|
||||
<reference key="object" ref="98309598"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">710</int>
|
||||
<reference key="object" ref="383281702"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">711</int>
|
||||
<reference key="object" ref="570668246"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">713</int>
|
||||
<reference key="object" ref="102000755"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">714</int>
|
||||
<reference key="object" ref="113847529"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">715</int>
|
||||
<reference key="object" ref="750583826"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">716</int>
|
||||
<reference key="object" ref="778214681"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">717</int>
|
||||
<reference key="object" ref="931839081"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">718</int>
|
||||
<reference key="object" ref="28591382"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">719</int>
|
||||
<reference key="object" ref="955331079"/>
|
||||
<reference key="parent" ref="598576309"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
@ -693,8 +1450,58 @@
|
||||
<string>562.IBPluginDependency</string>
|
||||
<string>563.IBPluginDependency</string>
|
||||
<string>564.IBPluginDependency</string>
|
||||
<string>568.IBPluginDependency</string>
|
||||
<string>569.IBPluginDependency</string>
|
||||
<string>57.IBPluginDependency</string>
|
||||
<string>570.IBPluginDependency</string>
|
||||
<string>571.IBPluginDependency</string>
|
||||
<string>573.IBPluginDependency</string>
|
||||
<string>574.IBPluginDependency</string>
|
||||
<string>575.IBPluginDependency</string>
|
||||
<string>576.IBPluginDependency</string>
|
||||
<string>577.IBPluginDependency</string>
|
||||
<string>578.IBPluginDependency</string>
|
||||
<string>579.IBPluginDependency</string>
|
||||
<string>58.IBPluginDependency</string>
|
||||
<string>580.IBPluginDependency</string>
|
||||
<string>581.IBPluginDependency</string>
|
||||
<string>582.IBPluginDependency</string>
|
||||
<string>583.IBPluginDependency</string>
|
||||
<string>584.IBPluginDependency</string>
|
||||
<string>585.IBPluginDependency</string>
|
||||
<string>586.IBPluginDependency</string>
|
||||
<string>589.IBPluginDependency</string>
|
||||
<string>590.IBPluginDependency</string>
|
||||
<string>591.IBPluginDependency</string>
|
||||
<string>592.IBPluginDependency</string>
|
||||
<string>593.IBPluginDependency</string>
|
||||
<string>594.IBPluginDependency</string>
|
||||
<string>595.IBPluginDependency</string>
|
||||
<string>596.IBPluginDependency</string>
|
||||
<string>597.IBPluginDependency</string>
|
||||
<string>598.IBPluginDependency</string>
|
||||
<string>677.IBPluginDependency</string>
|
||||
<string>678.IBPluginDependency</string>
|
||||
<string>686.IBPluginDependency</string>
|
||||
<string>687.IBPluginDependency</string>
|
||||
<string>689.IBPluginDependency</string>
|
||||
<string>690.IBPluginDependency</string>
|
||||
<string>691.IBPluginDependency</string>
|
||||
<string>694.IBPluginDependency</string>
|
||||
<string>695.IBPluginDependency</string>
|
||||
<string>700.IBPluginDependency</string>
|
||||
<string>704.IBPluginDependency</string>
|
||||
<string>705.IBPluginDependency</string>
|
||||
<string>709.IBPluginDependency</string>
|
||||
<string>710.IBPluginDependency</string>
|
||||
<string>711.IBPluginDependency</string>
|
||||
<string>713.IBPluginDependency</string>
|
||||
<string>714.IBPluginDependency</string>
|
||||
<string>715.IBPluginDependency</string>
|
||||
<string>716.IBPluginDependency</string>
|
||||
<string>717.IBPluginDependency</string>
|
||||
<string>718.IBPluginDependency</string>
|
||||
<string>719.IBPluginDependency</string>
|
||||
<string>72.IBPluginDependency</string>
|
||||
<string>74.IBPluginDependency</string>
|
||||
<string>75.IBPluginDependency</string>
|
||||
@ -743,6 +1550,56 @@
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
@ -757,7 +1614,7 @@
|
||||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">567</int>
|
||||
<int key="maxID">721</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
#include <Emgui.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include "Menu.h"
|
||||
#include "Dialog.h"
|
||||
#include "Editor.h"
|
||||
#include "LoadSave.h"
|
||||
@ -1322,6 +1323,13 @@ void updateNeedsSaving()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
bool Editor_needsSave()
|
||||
{
|
||||
return s_undoLevel != Commands_undoCount();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void onFinishedLoad(const text_t* path)
|
||||
{
|
||||
Editor_update();
|
||||
@ -1343,6 +1351,72 @@ void Editor_loadRecentFile(int id)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const char* s_type[] =
|
||||
{
|
||||
"EDITOR_MENU_NEW",
|
||||
"EDITOR_MENU_SUB_MENU",
|
||||
"EDITOR_MENU_SEPARATOR",
|
||||
"EDITOR_MENU_RECENT_FILE_0",
|
||||
"EDITOR_MENU_RECENT_FILE_1",
|
||||
"EDITOR_MENU_RECENT_FILE_2",
|
||||
"EDITOR_MENU_RECENT_FILE_3",
|
||||
"EDITOR_MENU_OPEN",
|
||||
"EDITOR_MENU_SAVE",
|
||||
"EDITOR_MENU_SAVE_AS",
|
||||
"EDITOR_MENU_REMOTE_EXPORT",
|
||||
"EDITOR_MENU_UNDO",
|
||||
"EDITOR_MENU_REDO",
|
||||
"EDITOR_MENU_CANCEL_EDIT",
|
||||
"EDITOR_MENU_CLEAR",
|
||||
"EDITOR_MENU_CUT",
|
||||
"EDITOR_MENU_COPY",
|
||||
"EDITOR_MENU_PASTE",
|
||||
"EDITOR_MENU_SELECT_TRACK",
|
||||
"EDITOR_MENU_BIAS_P_001",
|
||||
"EDITOR_MENU_BIAS_P_01",
|
||||
"EDITOR_MENU_BIAS_P_1",
|
||||
"EDITOR_MENU_BIAS_P_10",
|
||||
"EDITOR_MENU_BIAS_P_100",
|
||||
"EDITOR_MENU_BIAS_P_1000",
|
||||
"EDITOR_MENU_BIAS_N_001",
|
||||
"EDITOR_MENU_BIAS_N_01",
|
||||
"EDITOR_MENU_BIAS_N_1",
|
||||
"EDITOR_MENU_BIAS_N_10",
|
||||
"EDITOR_MENU_BIAS_N_100",
|
||||
"EDITOR_MENU_BIAS_N_1000",
|
||||
"EDITOR_MENU_INTERPOLATION",
|
||||
"EDITOR_MENU_ENTER_CURRENT_V",
|
||||
"EDITOR_MENU_PLAY",
|
||||
"EDITOR_MENU_ROW_UP",
|
||||
"EDITOR_MENU_ROW_DOWN",
|
||||
"EDITOR_MENU_TRACK_LEFT",
|
||||
"EDITOR_MENU_TRACK_RIGHT",
|
||||
"EDITOR_MENU_ROWS_DOWN",
|
||||
"EDITOR_MENU_ROWS_UP",
|
||||
"EDITOR_MENU_PREV_BOOKMARK",
|
||||
"EDITOR_MENU_NEXT_BOOKMARK",
|
||||
"EDITOR_MENU_FIRST_TRACK",
|
||||
"EDITOR_MENU_LAST_TRACK",
|
||||
"EDITOR_MENU_PREV_KEY",
|
||||
"EDITOR_MENU_NEXT_KEY",
|
||||
"EDITOR_MENU_FOLD_TRACK",
|
||||
"EDITOR_MENU_UNFOLD_TRACK",
|
||||
"EDITOR_MENU_FOLD_GROUP",
|
||||
"EDITOR_MENU_UNFOLD_GROUP",
|
||||
"EDITOR_MENU_TOGGLE_BOOKMARK",
|
||||
"EDITOR_MENU_CLEAR_BOOKMARKS",
|
||||
"EDITOR_MENU_TAB",
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void Editor_onMenuEvent(int id)
|
||||
{
|
||||
printf("%s\n", s_type[id - 0x1000]);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void onOpen()
|
||||
{
|
||||
text_t currentFile[2048];
|
||||
@ -1353,7 +1427,7 @@ static void onOpen()
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static bool onSaveDialog()
|
||||
static bool onSaveAs()
|
||||
{
|
||||
text_t path[2048];
|
||||
int ret;
|
||||
@ -1373,7 +1447,7 @@ static bool onSaveDialog()
|
||||
static void onSave()
|
||||
{
|
||||
if (!s_loadedFilename)
|
||||
onSaveDialog();
|
||||
onSaveAs();
|
||||
else
|
||||
LoadSave_saveRocketXML(getMostRecentFile(), getTrackData());
|
||||
|
||||
@ -1391,19 +1465,87 @@ bool Editor_saveBeforeExit()
|
||||
return true;
|
||||
}
|
||||
|
||||
return onSaveDialog();
|
||||
return onSaveAs();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void Editor_menuEvent(int menuItem)
|
||||
{
|
||||
printf("%s\n", s_type[menuItem - 0x1000]);
|
||||
|
||||
switch (menuItem)
|
||||
{
|
||||
case EDITOR_MENU_OPEN : onOpen(); break;
|
||||
case EDITOR_MENU_SAVE : onSave(); break;
|
||||
case EDITOR_MENU_SAVE_AS : onSaveDialog(); break;
|
||||
case EDITOR_MENU_OPEN: onOpen(); break;
|
||||
case EDITOR_MENU_SAVE: onSave(); break;
|
||||
case EDITOR_MENU_SAVE_AS: onSaveAs(); break;
|
||||
case EDITOR_MENU_REMOTE_EXPORT : RemoteConnection_sendSaveCommand(); break;
|
||||
|
||||
case EDITOR_MENU_RECENT_FILE_0:
|
||||
case EDITOR_MENU_RECENT_FILE_1:
|
||||
case EDITOR_MENU_RECENT_FILE_2:
|
||||
case EDITOR_MENU_RECENT_FILE_3:
|
||||
{
|
||||
|
||||
Editor_loadRecentFile(menuItem - EDITOR_MENU_RECENT_FILE_0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
EDITOR_MENU_OPEN,
|
||||
EDITOR_MENU_SAVE,
|
||||
EDITOR_MENU_SAVE_AS,
|
||||
EDITOR_MENU_REMOTE_EXPORT,
|
||||
|
||||
// Edit
|
||||
|
||||
EDITOR_MENU_UNDO,
|
||||
EDITOR_MENU_REDO,
|
||||
EDITOR_MENU_CANCEL_EDIT,
|
||||
EDITOR_MENU_CLEAR,
|
||||
EDITOR_MENU_CUT,
|
||||
EDITOR_MENU_COPY,
|
||||
EDITOR_MENU_PASTE,
|
||||
EDITOR_MENU_SELECT_TRACK,
|
||||
EDITOR_MENU_BIAS_P_001,
|
||||
EDITOR_MENU_BIAS_P_01,
|
||||
EDITOR_MENU_BIAS_P_1,
|
||||
EDITOR_MENU_BIAS_P_10,
|
||||
EDITOR_MENU_BIAS_P_100,
|
||||
EDITOR_MENU_BIAS_P_1000,
|
||||
EDITOR_MENU_BIAS_N_001,
|
||||
EDITOR_MENU_BIAS_N_01,
|
||||
EDITOR_MENU_BIAS_N_1,
|
||||
EDITOR_MENU_BIAS_N_10,
|
||||
EDITOR_MENU_BIAS_N_100,
|
||||
EDITOR_MENU_BIAS_N_1000,
|
||||
EDITOR_MENU_INTERPOLATION,
|
||||
EDITOR_MENU_ENTER_CURRENT_V,
|
||||
|
||||
// View
|
||||
|
||||
EDITOR_MENU_PLAY,
|
||||
EDITOR_MENU_ROW_UP,
|
||||
EDITOR_MENU_ROW_DOWN,
|
||||
EDITOR_MENU_TRACK_LEFT,
|
||||
EDITOR_MENU_TRACK_RIGHT,
|
||||
EDITOR_MENU_ROWS_DOWN,
|
||||
EDITOR_MENU_ROWS_UP,
|
||||
EDITOR_MENU_PREV_BOOKMARK,
|
||||
EDITOR_MENU_NEXT_BOOKMARK,
|
||||
EDITOR_MENU_FIRST_TRACK,
|
||||
EDITOR_MENU_LAST_TRACK,
|
||||
EDITOR_MENU_PREV_KEY,
|
||||
EDITOR_MENU_NEXT_KEY,
|
||||
EDITOR_MENU_FOLD_TRACK,
|
||||
EDITOR_MENU_UNFOLD_TRACK,
|
||||
EDITOR_MENU_FOLD_GROUP,
|
||||
EDITOR_MENU_UNFOLD_GROUP,
|
||||
EDITOR_MENU_TOGGLE_BOOKMARK,
|
||||
EDITOR_MENU_CLEAR_BOOKMARKS,
|
||||
EDITOR_MENU_TAB,
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -15,20 +15,12 @@ void Editor_scroll(float deltaX, float deltaY, int flags);
|
||||
void Editor_updateTrackScroll();
|
||||
void Editor_loadRecentFile(int file);
|
||||
bool Editor_saveBeforeExit();
|
||||
bool Editor_needsSave();
|
||||
|
||||
text_t** Editor_getRecentFiles();
|
||||
|
||||
enum
|
||||
{
|
||||
EDITOR_MENU_NEW,
|
||||
EDITOR_MENU_OPEN,
|
||||
EDITOR_MENU_SAVE,
|
||||
EDITOR_MENU_SAVE_AS,
|
||||
EDITOR_MENU_REMOTE_EXPORT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
EDITOR_KEY_SHIFT = 1,
|
||||
EDITOR_KEY_ALT = 2,
|
||||
EDITOR_KEY_CTRL = 4,
|
||||
|
||||
88
ogl_editor/src/Menu.c
Normal file
88
ogl_editor/src/Menu.c
Normal file
@ -0,0 +1,88 @@
|
||||
#include "Menu.h"
|
||||
#include <Emgui.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// On win32 (where we use unicode for text-strings) this is defined already
|
||||
|
||||
#ifndef _WIN32
|
||||
#define _T(v) v
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
MenuDescriptor g_fileMenu[] =
|
||||
{
|
||||
{ _T("Open..."), EDITOR_MENU_OPEN, 'o', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T("Recent Files"), EDITOR_MENU_SUB_MENU, 0, 0, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Save"), EDITOR_MENU_SAVE, 's', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T("Save as..."), EDITOR_MENU_SAVE_AS, 's', EMGUI_KEY_COMMAND | EMGUI_KEY_SHIFT, EMGUI_KEY_CTRL | EMGUI_KEY_SHIFT },
|
||||
{ _T("Remote export"), EDITOR_MENU_REMOTE_EXPORT, 'e', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
MenuDescriptor g_editMenu[] =
|
||||
{
|
||||
{ _T("Undo"), EDITOR_MENU_UNDO, 'z', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T("Redo"), EDITOR_MENU_REDO, 'z', EMGUI_KEY_COMMAND | EMGUI_KEY_SHIFT, EMGUI_KEY_CTRL | EMGUI_KEY_SHIFT },
|
||||
{ _T("Cancel Edit"), EDITOR_MENU_CANCEL_EDIT, EMGUI_KEY_ESC, 0, 0 },
|
||||
{ _T("Clear"), EDITOR_MENU_CLEAR, EMGUI_KEY_BACKSPACE, 0, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Cut"), EDITOR_MENU_CUT, 'x', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T("Copy"), EDITOR_MENU_COPY, 'c', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T("Paste"), EDITOR_MENU_PASTE, 'v', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Select Track"), EDITOR_MENU_SELECT_TRACK, 't', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Bias +0.01"), EDITOR_MENU_BIAS_P_001, 'q', 0, 0 },
|
||||
{ _T("Bias +0.1"), EDITOR_MENU_BIAS_P_01, 'w', 0, 0 },
|
||||
{ _T("Bias +1.0"), EDITOR_MENU_BIAS_P_1, 'e', 0, 0 },
|
||||
{ _T("Bias +10.0"), EDITOR_MENU_BIAS_P_10, 'r', 0, 0 },
|
||||
{ _T("Bias +10.01"), EDITOR_MENU_BIAS_P_100, 't', 0, 0 },
|
||||
{ _T("Bias +100.01"), EDITOR_MENU_BIAS_P_1000, 'y', 0, 0 },
|
||||
{ _T("Bias -0.01"), EDITOR_MENU_BIAS_N_001, 'a', 0, 0 },
|
||||
{ _T("Bias -0.1"), EDITOR_MENU_BIAS_N_01, 's', 0, 0 },
|
||||
{ _T("Bias -1.0"), EDITOR_MENU_BIAS_N_1, 'd', 0, 0 },
|
||||
{ _T("Bias -10.0"), EDITOR_MENU_BIAS_N_10, 'f', 0, 0 },
|
||||
{ _T("Bias -10.01"), EDITOR_MENU_BIAS_N_100, 'g', 0, 0 },
|
||||
{ _T("Bias -100.01"), EDITOR_MENU_BIAS_N_1000, 'h', 0, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Interpolation"), EDITOR_MENU_INTERPOLATION, 'i', 0, 0 },
|
||||
{ _T("Insert current value"), EDITOR_MENU_ENTER_CURRENT_V,EMGUI_KEY_ENTER,0, 0 },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
MenuDescriptor g_viewMenu[] =
|
||||
{
|
||||
{ _T("Start/Stop Playback"), EDITOR_MENU_PLAY, EMGUI_KEY_SPACE, 0, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Jump one row up"), EDITOR_MENU_ROW_UP, EMGUI_KEY_ARROW_UP, 0, 0 },
|
||||
{ _T("Jump one row down"), EDITOR_MENU_ROW_DOWN, EMGUI_KEY_ARROW_DOWN, 0, 0 },
|
||||
{ _T("Jump one track left"), EDITOR_MENU_TRACK_LEFT, EMGUI_KEY_ARROW_LEFT, 0, 0 },
|
||||
{ _T("Jump one track right"), EDITOR_MENU_TRACK_RIGHT, EMGUI_KEY_ARROW_RIGHT, 0, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Jump 8 rows up"), EDITOR_MENU_ROWS_UP, EMGUI_KEY_ARROW_UP, EMGUI_KEY_ALT, 0 },
|
||||
{ _T("Jump 8 rows down"), EDITOR_MENU_ROWS_DOWN, EMGUI_KEY_ARROW_DOWN, EMGUI_KEY_ALT, 0 },
|
||||
{ _T("Jump to previous bookmark"), EDITOR_MENU_PREV_BOOKMARK, EMGUI_KEY_ARROW_UP, EMGUI_KEY_COMMAND, 0 },
|
||||
{ _T("Jump to next bookmark"), EDITOR_MENU_NEXT_BOOKMARK, EMGUI_KEY_ARROW_DOWN, EMGUI_KEY_COMMAND, 0 },
|
||||
{ _T("Jump to first track"), EDITOR_MENU_FIRST_TRACK, EMGUI_KEY_ARROW_LEFT, EMGUI_KEY_COMMAND, 0 },
|
||||
{ _T("Jump to last track"), EDITOR_MENU_LAST_TRACK, EMGUI_KEY_ARROW_RIGHT, EMGUI_KEY_COMMAND, 0 },
|
||||
{ _T("Jump to previous key"), EDITOR_MENU_PREV_KEY, EMGUI_KEY_ARROW_UP, EMGUI_KEY_CTRL, 0 },
|
||||
{ _T("Jump to next key"), EDITOR_MENU_NEXT_KEY, EMGUI_KEY_ARROW_DOWN, EMGUI_KEY_CTRL, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Fold track"), EDITOR_MENU_FOLD_TRACK, EMGUI_KEY_ARROW_LEFT, EMGUI_KEY_ALT, 0 },
|
||||
{ _T("Unfold track"), EDITOR_MENU_UNFOLD_TRACK, EMGUI_KEY_ARROW_RIGHT, EMGUI_KEY_ALT, 0 },
|
||||
{ _T("Fold group"), EDITOR_MENU_FOLD_GROUP, EMGUI_KEY_ARROW_LEFT, EMGUI_KEY_ALT | EMGUI_KEY_CTRL, 0 },
|
||||
{ _T("Unfold group"), EDITOR_MENU_UNFOLD_GROUP, EMGUI_KEY_ARROW_RIGHT, EMGUI_KEY_ALT | EMGUI_KEY_CTRL, 0 },
|
||||
{ _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 },
|
||||
{ _T("Toogle bookmark"), EDITOR_MENU_TOGGLE_BOOKMARK, 'b', 0, 0 },
|
||||
{ _T("Clear bookmarks"), EDITOR_MENU_CLEAR_BOOKMARKS, 'b', EMGUI_KEY_SHIFT, EMGUI_KEY_SHIFT },
|
||||
{ _T("Unfold track"), EDITOR_MENU_UNFOLD_TRACK, EMGUI_KEY_ARROW_RIGHT, EMGUI_KEY_ALT, 0 },
|
||||
{ _T("Jump row,start/end & edit"), EDITOR_MENU_TAB, EMGUI_KEY_TAB, 0, 0 },
|
||||
{ 0 },
|
||||
};
|
||||
|
||||
95
ogl_editor/src/Menu.h
Normal file
95
ogl_editor/src/Menu.h
Normal file
@ -0,0 +1,95 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef _WIN32
|
||||
#define _T(v) v
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
enum
|
||||
{
|
||||
// File
|
||||
|
||||
EDITOR_MENU_NEW = 0x1000,
|
||||
EDITOR_MENU_SUB_MENU,
|
||||
EDITOR_MENU_SEPARATOR,
|
||||
EDITOR_MENU_RECENT_FILE_0,
|
||||
EDITOR_MENU_RECENT_FILE_1,
|
||||
EDITOR_MENU_RECENT_FILE_2,
|
||||
EDITOR_MENU_RECENT_FILE_3,
|
||||
|
||||
EDITOR_MENU_OPEN,
|
||||
EDITOR_MENU_SAVE,
|
||||
EDITOR_MENU_SAVE_AS,
|
||||
EDITOR_MENU_REMOTE_EXPORT,
|
||||
|
||||
// Edit
|
||||
|
||||
EDITOR_MENU_UNDO,
|
||||
EDITOR_MENU_REDO,
|
||||
EDITOR_MENU_CANCEL_EDIT,
|
||||
EDITOR_MENU_CLEAR,
|
||||
EDITOR_MENU_CUT,
|
||||
EDITOR_MENU_COPY,
|
||||
EDITOR_MENU_PASTE,
|
||||
EDITOR_MENU_SELECT_TRACK,
|
||||
EDITOR_MENU_BIAS_P_001,
|
||||
EDITOR_MENU_BIAS_P_01,
|
||||
EDITOR_MENU_BIAS_P_1,
|
||||
EDITOR_MENU_BIAS_P_10,
|
||||
EDITOR_MENU_BIAS_P_100,
|
||||
EDITOR_MENU_BIAS_P_1000,
|
||||
EDITOR_MENU_BIAS_N_001,
|
||||
EDITOR_MENU_BIAS_N_01,
|
||||
EDITOR_MENU_BIAS_N_1,
|
||||
EDITOR_MENU_BIAS_N_10,
|
||||
EDITOR_MENU_BIAS_N_100,
|
||||
EDITOR_MENU_BIAS_N_1000,
|
||||
EDITOR_MENU_INTERPOLATION,
|
||||
EDITOR_MENU_ENTER_CURRENT_V,
|
||||
|
||||
// View
|
||||
|
||||
EDITOR_MENU_PLAY,
|
||||
EDITOR_MENU_ROW_UP,
|
||||
EDITOR_MENU_ROW_DOWN,
|
||||
EDITOR_MENU_TRACK_LEFT,
|
||||
EDITOR_MENU_TRACK_RIGHT,
|
||||
EDITOR_MENU_ROWS_DOWN,
|
||||
EDITOR_MENU_ROWS_UP,
|
||||
EDITOR_MENU_PREV_BOOKMARK,
|
||||
EDITOR_MENU_NEXT_BOOKMARK,
|
||||
EDITOR_MENU_FIRST_TRACK,
|
||||
EDITOR_MENU_LAST_TRACK,
|
||||
EDITOR_MENU_PREV_KEY,
|
||||
EDITOR_MENU_NEXT_KEY,
|
||||
EDITOR_MENU_FOLD_TRACK,
|
||||
EDITOR_MENU_UNFOLD_TRACK,
|
||||
EDITOR_MENU_FOLD_GROUP,
|
||||
EDITOR_MENU_UNFOLD_GROUP,
|
||||
EDITOR_MENU_TOGGLE_BOOKMARK,
|
||||
EDITOR_MENU_CLEAR_BOOKMARKS,
|
||||
EDITOR_MENU_TAB,
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef struct MenuDescriptor
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
const wchar_t* name;
|
||||
#else
|
||||
const char* name;
|
||||
#endif
|
||||
int id;
|
||||
int key;
|
||||
int macMod;
|
||||
int winMid;
|
||||
} MenuDescriptor;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
extern MenuDescriptor g_fileMenu[];
|
||||
extern MenuDescriptor g_editMenu[];
|
||||
extern MenuDescriptor g_viewMenu[];
|
||||
|
||||
@ -1,12 +1,85 @@
|
||||
#import "RocketView.h"
|
||||
#include "../Editor.h"
|
||||
#include "../rlog.h"
|
||||
#include "../Menu.h"
|
||||
#include <Emgui.h>
|
||||
#include <GFXBackend.h>
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#include <Carbon/Carbon.h>
|
||||
|
||||
NSOpenGLContext* g_context = 0;
|
||||
NSWindow* g_window = 0;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Scan codes on Mac taken from http://boredzo.org/blog/archives/2007-05-22/virtual-key-codes
|
||||
|
||||
#define KEY_A 0
|
||||
#define KEY_S 1
|
||||
#define KEY_D 2
|
||||
#define KEY_F 3
|
||||
#define KEY_H 4
|
||||
#define KEY_G 5
|
||||
#define KEY_Z 6
|
||||
#define KEY_X 7
|
||||
#define KEY_C 8
|
||||
#define KEY_V 9
|
||||
|
||||
#define KEY_B 11
|
||||
#define KEY_Q 12
|
||||
#define KEY_W 13
|
||||
#define KEY_E 14
|
||||
#define KEY_R 15
|
||||
#define KEY_Y 16
|
||||
#define KEY_T 17
|
||||
#define KEY_1 18
|
||||
#define KEY_2 19
|
||||
#define KEY_3 20
|
||||
#define KEY_4 21
|
||||
#define KEY_6 22
|
||||
#define KEY_5 23
|
||||
#define KEY_EQUALS 24
|
||||
#define KEY_9 25
|
||||
#define KEY_7 26
|
||||
#define KEY_MINUS 27
|
||||
#define KEY_8 28
|
||||
#define KEY_0 29
|
||||
#define KEY_RIGHTBRACKET 30
|
||||
#define KEY_O 31
|
||||
#define KEY_U 32
|
||||
#define KEY_LEFTBRACKET 33
|
||||
#define KEY_I 34
|
||||
#define KEY_P 35
|
||||
#define KEY_RETURN 36
|
||||
#define KEY_L 37
|
||||
#define KEY_J 38
|
||||
#define KEY_APOSTROPHE 39
|
||||
#define KEY_K 40
|
||||
#define KEY_SEMICOLON 41
|
||||
#define KEY_FRONTSLASH 42
|
||||
#define KEY_COMMA 43
|
||||
#define KEY_BACKSLASH 44
|
||||
#define KEY_N 45
|
||||
#define KEY_M 46
|
||||
#define KEY_PERIOD 47
|
||||
#define KEY_TAB 48
|
||||
#define KEY_SPACE 49
|
||||
|
||||
#define KEY_BACKAPOSTROPHE 50
|
||||
#define KEY_DELETE 51
|
||||
|
||||
#define KEY_ESCAPE 53
|
||||
|
||||
#define KEY_COMMAND 55
|
||||
#define KEY_SHIFT 56
|
||||
#define KEY_CAPSLOCK 57
|
||||
#define KEY_OPTION 58
|
||||
#define KEY_CONTROL 59
|
||||
|
||||
#define KEY_UP 126
|
||||
#define KEY_DOWN 125
|
||||
#define KEY_LEFT 123
|
||||
#define KEY_RIGHT 124
|
||||
|
||||
@implementation RocketView
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -98,6 +171,7 @@ static int getModifierFlags(int flags)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
- (void)keyDown:(NSEvent *)theEvent
|
||||
{
|
||||
NSString* key = [theEvent charactersIgnoringModifiers];
|
||||
@ -128,6 +202,7 @@ static int getModifierFlags(int flags)
|
||||
|
||||
Editor_update();
|
||||
}
|
||||
*/
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -215,16 +290,218 @@ static int getModifierFlags(int flags)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (void)onRecentFile:(id)sender
|
||||
CFStringRef createStringForKey(CGKeyCode keyCode)
|
||||
{
|
||||
NSString* string = [sender representedObject];
|
||||
Editor_loadRecentFile([string intValue]);
|
||||
TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource();
|
||||
CFDataRef layoutData =
|
||||
TISGetInputSourceProperty(currentKeyboard,
|
||||
kTISPropertyUnicodeKeyLayoutData);
|
||||
|
||||
if (!layoutData)
|
||||
return 0;
|
||||
|
||||
const UCKeyboardLayout *keyboardLayout =
|
||||
(const UCKeyboardLayout *)CFDataGetBytePtr(layoutData);
|
||||
|
||||
UInt32 keysDown = 0;
|
||||
UniChar chars[4];
|
||||
UniCharCount realLength;
|
||||
|
||||
UCKeyTranslate(keyboardLayout,
|
||||
keyCode,
|
||||
kUCKeyActionDisplay,
|
||||
0,
|
||||
LMGetKbdType(),
|
||||
kUCKeyTranslateNoDeadKeysBit,
|
||||
&keysDown,
|
||||
sizeof(chars) / sizeof(chars[0]),
|
||||
&realLength,
|
||||
chars);
|
||||
CFRelease(currentKeyboard);
|
||||
|
||||
return CFStringCreateWithCharacters(kCFAllocatorDefault, chars, 1);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
- (void)onMenuPress:(id)sender
|
||||
{
|
||||
int id = (int)((NSButton*)sender).tag;
|
||||
Editor_menuEvent(id);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int s_characterToKeyCode[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0x27, // '''
|
||||
0, 0, 0, 0,
|
||||
0x2b, // ','
|
||||
0x1b, // '-'
|
||||
0x2f, // '.'
|
||||
0x2c, // '/'
|
||||
0x1d, // '0'
|
||||
0x12, // '1'
|
||||
0x13, // '2'
|
||||
0x14, // '3'
|
||||
0x15, // '4'
|
||||
0x17, // '5'
|
||||
0x16, // '6'
|
||||
0x1a, // '7'
|
||||
0x1c, // '8'
|
||||
0x19, // '9'
|
||||
0,
|
||||
0x29, // ';'
|
||||
0,
|
||||
0x18, // '='
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0x21, // '['
|
||||
0x2a, // '\'
|
||||
0x1e, // ']'
|
||||
0,
|
||||
0,
|
||||
0x32, // '`'
|
||||
0,
|
||||
0x0b, // 'b'
|
||||
0x08, // 'c'
|
||||
0x02, // 'd'
|
||||
0x0e, // 'e'
|
||||
0x03, // 'f'
|
||||
0x05, // 'g'
|
||||
0x04, // 'h'
|
||||
0x22, // 'i'
|
||||
0x26, // 'j'
|
||||
0x28, // 'k'
|
||||
0x25, // 'l'
|
||||
0x2e, // 'm'
|
||||
0x2d, // 'n'
|
||||
0x1f, // 'o'
|
||||
0x23, // 'p'
|
||||
0x0c, // 'q'
|
||||
0x0f, // 'r'
|
||||
0x01, // 's'
|
||||
0x11, // 't'
|
||||
0x20, // 'u'
|
||||
0x09, // 'v'
|
||||
0x0d, // 'w'
|
||||
0x07, // 'x'
|
||||
0x10, // 'y'
|
||||
0x06, // 'z'
|
||||
0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
NSString* convertKeyCodeToString(int key)
|
||||
{
|
||||
if (key < 128)
|
||||
{
|
||||
// first try to translate it and if that doesn't work use it as is
|
||||
NSString* charName = (NSString*)createStringForKey(s_characterToKeyCode[key]);
|
||||
|
||||
if (charName)
|
||||
return charName;
|
||||
|
||||
return [NSString stringWithFormat:@"%c", (char)key];
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
case EMGUI_KEY_ARROW_UP: return [NSString stringWithFormat:@"%C", (uint16_t)0x2191];
|
||||
case EMGUI_KEY_ARROW_DOWN: return [NSString stringWithFormat:@"%C", (uint16_t)0x2193];
|
||||
case EMGUI_KEY_ARROW_LEFT: return [NSString stringWithFormat:@"%C", (uint16_t)0x2190];
|
||||
case EMGUI_KEY_ARROW_RIGHT: return [NSString stringWithFormat:@"%C", (uint16_t)0x2192];
|
||||
case EMGUI_KEY_ESC : return [NSString stringWithFormat:@"%C", (uint16_t)0x238b];
|
||||
case EMGUI_KEY_ENTER : return [NSString stringWithFormat:@"%C", (uint16_t)NSCarriageReturnCharacter];
|
||||
case EMGUI_KEY_SPACE : return @" ";
|
||||
case EMGUI_KEY_BACKSPACE : return [NSString stringWithFormat:@"%C",(uint16_t)0x232b];
|
||||
case EMGUI_KEY_TAB : return [NSString stringWithFormat:@"%C",(uint16_t)0x21e4];
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void buildSubMenu(NSMenu* menu, MenuDescriptor menuDesc[])
|
||||
{
|
||||
MenuDescriptor* desc = &menuDesc[0];
|
||||
[menu removeAllItems];
|
||||
|
||||
while (desc->name)
|
||||
{
|
||||
NSString* name = [NSString stringWithUTF8String: desc->name];
|
||||
|
||||
if (desc->id == EDITOR_MENU_SEPARATOR)
|
||||
{
|
||||
[menu addItem:[NSMenuItem separatorItem]];
|
||||
}
|
||||
else if (desc->id == EDITOR_MENU_SUB_MENU)
|
||||
{
|
||||
NSMenuItem* newItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:name action:NULL keyEquivalent:@""];
|
||||
NSMenu* newMenu = [[NSMenu allocWithZone:[NSMenu menuZone]] initWithTitle:name];
|
||||
[newItem setSubmenu:newMenu];
|
||||
[newMenu release];
|
||||
[menu addItem:newItem];
|
||||
[newItem release];
|
||||
}
|
||||
else
|
||||
{
|
||||
int mask = 0;
|
||||
NSMenuItem* newItem = [[NSMenuItem alloc] initWithTitle:name action:@selector(onMenuPress:) keyEquivalent:@""];
|
||||
[newItem setTag:desc->id];
|
||||
|
||||
if (desc->macMod & EMGUI_KEY_COMMAND)
|
||||
mask |= NSCommandKeyMask;
|
||||
if (desc->macMod & EMGUI_KEY_SHIFT)
|
||||
mask |= NSShiftKeyMask;
|
||||
if (desc->macMod & EMGUI_KEY_CTRL)
|
||||
mask |= NSControlKeyMask;
|
||||
if (desc->macMod & EMGUI_KEY_ALT)
|
||||
mask |= NSAlternateKeyMask;
|
||||
|
||||
NSString* key = convertKeyCodeToString(desc->key);
|
||||
|
||||
if (key)
|
||||
{
|
||||
[newItem setKeyEquivalentModifierMask: mask];
|
||||
[newItem setKeyEquivalent:key];
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "Unable to map keyboard shortcut for %s\n", desc->name);
|
||||
}
|
||||
|
||||
[menu addItem:newItem];
|
||||
[newItem release];
|
||||
}
|
||||
|
||||
desc++;
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void buildMenu()
|
||||
{
|
||||
NSMenu* fileMenu = [[[NSApp mainMenu] itemWithTitle:@"File"] submenu];
|
||||
NSMenu* editMenu = [[[NSApp mainMenu] itemWithTitle:@"Edit"] submenu];
|
||||
NSMenu* viewMenu = [[[NSApp mainMenu] itemWithTitle:@"View"] submenu];
|
||||
|
||||
buildSubMenu(fileMenu, g_fileMenu);
|
||||
buildSubMenu(editMenu, g_editMenu);
|
||||
buildSubMenu(viewMenu, g_viewMenu);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void Window_populateRecentList(const char** files)
|
||||
{
|
||||
buildMenu();
|
||||
|
||||
NSMenu* fileMenu = [[[NSApp mainMenu] itemWithTitle:@"File"] submenu];
|
||||
NSMenu* recentItems = [[fileMenu itemWithTitle:@"Recent Files"] submenu];
|
||||
|
||||
@ -239,7 +516,8 @@ void Window_populateRecentList(const char** files)
|
||||
|
||||
NSString* name = [NSString stringWithUTF8String: filename];
|
||||
|
||||
NSMenuItem* newItem = [[NSMenuItem alloc] initWithTitle:name action:@selector(onRecentFile:) keyEquivalent:@""];
|
||||
NSMenuItem* newItem = [[NSMenuItem alloc] initWithTitle:name action:@selector(onMenuPress:) keyEquivalent:@""];
|
||||
[newItem setTag:EDITOR_MENU_RECENT_FILE_0 + i];
|
||||
[newItem setRepresentedObject:[NSString stringWithFormat:@"%d",i]];
|
||||
[newItem setKeyEquivalentModifierMask: NSCommandKeyMask];
|
||||
[newItem setKeyEquivalent:[NSString stringWithFormat:@"%d",i + 1]];
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface MinimalAppAppDelegate : NSObject <NSApplicationDelegate> {
|
||||
@interface RocketAppDelegate : NSObject <NSApplicationDelegate> {
|
||||
NSWindow *window;
|
||||
NSButton *button;
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
void Window_populateRecentList(char** files);
|
||||
|
||||
@implementation MinimalAppAppDelegate
|
||||
@implementation RocketAppDelegate
|
||||
|
||||
@synthesize window;
|
||||
@synthesize button;
|
||||
@ -14,6 +14,9 @@ void Window_populateRecentList(char** files);
|
||||
|
||||
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
|
||||
{
|
||||
if (!Editor_needsSave())
|
||||
return NSTerminateNow;
|
||||
|
||||
int ret = NSRunAlertPanel(@"Save before exit?", @"Do you want save the work?", @"Yes", @"Cancel", @"No");
|
||||
|
||||
if (ret == NSAlertDefaultReturn)
|
||||
@ -38,16 +41,20 @@ void Window_populateRecentList(char** files);
|
||||
|
||||
NSUserDefaults* prefs = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
for (int i = 0; i < 4; ++i)
|
||||
recent_list[i][0] = 0;
|
||||
|
||||
if (prefs)
|
||||
{
|
||||
NSArray* stringArray = [prefs objectForKey:@"recentFiles"];
|
||||
int recentIndex = 0;
|
||||
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
NSString* name = [stringArray objectAtIndex:i];
|
||||
const char* filename = [name cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
if (filename)
|
||||
strcpy(recent_list[i], filename);
|
||||
if (filename && filename[0] != 0)
|
||||
strcpy(recent_list[recentIndex++], filename);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -175,6 +175,9 @@ static int onKeyDown(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int key = -1;
|
||||
|
||||
int foo = (int)(lParam >> 16);
|
||||
(void)foo;
|
||||
|
||||
switch (wParam)
|
||||
{
|
||||
case VK_LEFT : key = EMGUI_ARROW_LEFT; break;
|
||||
@ -185,7 +188,11 @@ static int onKeyDown(WPARAM wParam, LPARAM lParam)
|
||||
|
||||
default:
|
||||
{
|
||||
int p, t = (int)wParam;
|
||||
(void)t;
|
||||
wParam = MapVirtualKey((UINT)wParam, 2) & 0x0000ffff;
|
||||
p = wParam;
|
||||
(void)p;
|
||||
wParam = (WPARAM) CharUpperA((LPSTR)wParam);
|
||||
|
||||
if((wParam >= 32 && wParam <= 126) ||
|
||||
@ -267,7 +274,7 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam
|
||||
}
|
||||
|
||||
case WM_KEYDOWN:
|
||||
case WM_SYSKEYDOWN:
|
||||
//case WM_SYSKEYDOWN:
|
||||
{
|
||||
int key = onKeyDown(wParam, lParam);
|
||||
|
||||
@ -288,7 +295,7 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam
|
||||
{
|
||||
case ID_FILE_OPEN:
|
||||
{
|
||||
Editor_menuEvent(EDITOR_MENU_OPEN);
|
||||
//Editor_menuEvent(EDITOR_MENU_OPEN);
|
||||
Editor_update();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@ local macosx = {
|
||||
"-Wno-deprecated-declarations", -- TickCount issue no Mountain Lion (needs to be fixed)
|
||||
"-I.", "-DMACOSX", "-Wall",
|
||||
{ "-O0", "-g"; Config = "*-*-debug" },
|
||||
{ "-O4"; Config = "*-*-release" },
|
||||
{ "-O3"; Config = "*-*-release" },
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user