124f6443dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 324f6443dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 424f6443dSAndrew Rist * or more contributor license agreements. See the NOTICE file 524f6443dSAndrew Rist * distributed with this work for additional information 624f6443dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 724f6443dSAndrew Rist * to you under the Apache License, Version 2.0 (the 824f6443dSAndrew Rist * "License"); you may not use this file except in compliance 924f6443dSAndrew Rist * with the License. You may obtain a copy of the License at 1024f6443dSAndrew Rist * 1124f6443dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 1224f6443dSAndrew Rist * 1324f6443dSAndrew Rist * Unless required by applicable law or agreed to in writing, 1424f6443dSAndrew Rist * software distributed under the License is distributed on an 1524f6443dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1624f6443dSAndrew Rist * KIND, either express or implied. See the License for the 1724f6443dSAndrew Rist * specific language governing permissions and limitations 1824f6443dSAndrew Rist * under the License. 1924f6443dSAndrew Rist * 2024f6443dSAndrew Rist *************************************************************/ 2124f6443dSAndrew Rist 2224f6443dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _SV_SALMENU_H 25cdf0e10cSrcweir #define _SV_SALMENU_H 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <vcl/bitmap.hxx> 28fc9fd3f1SPedro Giffuni #include <salmenu.hxx> 29cdf0e10cSrcweir 30*77438bbcSYuri Dario #define INIAPP_XWPHOOK "XWorkplace:Hook" 31*77438bbcSYuri Dario #define INIKEY_HOOK_CONFIG "Config" 32*77438bbcSYuri Dario 33*77438bbcSYuri Dario typedef struct _HOOKCONFIG 34*77438bbcSYuri Dario { 35*77438bbcSYuri Dario PM_BOOL __fSlidingFocus; 36*77438bbcSYuri Dario ULONG __ulSlidingFocusDelay; 37*77438bbcSYuri Dario PM_BOOL __fSlidingBring2Top; 38*77438bbcSYuri Dario PM_BOOL __fSlidingIgnoreDesktop; 39*77438bbcSYuri Dario PM_BOOL __fSlidingIgnoreSeamless; 40*77438bbcSYuri Dario HOBJECT ahobjDummy[4]; 41*77438bbcSYuri Dario PM_BYTE bMonitorDrives[30]; 42*77438bbcSYuri Dario PM_BOOL fChordWinList; 43*77438bbcSYuri Dario PM_BOOL fSysMenuMB2TitleBar; 44*77438bbcSYuri Dario PM_BOOL fMB3Scroll; 45*77438bbcSYuri Dario PM_BOOL fMB3ScrollReverse; 46*77438bbcSYuri Dario USHORT usScrollMode; 47*77438bbcSYuri Dario USHORT usMB3ScrollMin; 48*77438bbcSYuri Dario SHORT sAmplification; 49*77438bbcSYuri Dario PM_BOOL __fAutoHideMouse; 50*77438bbcSYuri Dario ULONG __ulAutoHideDelay; 51*77438bbcSYuri Dario PM_BOOL __fGlobalHotkeys; 52*77438bbcSYuri Dario PM_BOOL fRemoved1, fRemoved2; 53*77438bbcSYuri Dario PM_BOOL fSlidingMenus; 54*77438bbcSYuri Dario ULONG ulSubmenuDelay; 55*77438bbcSYuri Dario PM_BOOL fMenuImmediateHilite; 56*77438bbcSYuri Dario PM_BOOL fMB3Click2MB1DblClk; 57*77438bbcSYuri Dario HOBJECT ahobjHotCornerObjects[8]; 58*77438bbcSYuri Dario PM_BOOL fConditionalCascadeSensitive; 59*77438bbcSYuri Dario PM_BOOL fRemoved3; 60*77438bbcSYuri Dario ULONG ulCornerSensitivity; 61*77438bbcSYuri Dario PM_BOOL fMB3AutoScroll; 62*77438bbcSYuri Dario PM_BOOL fMB3Push2Bottom; 63*77438bbcSYuri Dario ULONG __ulAutoHideFlags; 64*77438bbcSYuri Dario PM_BOOL __fAutoMoveMouse; 65*77438bbcSYuri Dario ULONG __ulAutoMoveFlags; 66*77438bbcSYuri Dario ULONG __ulAutoMoveDelay; 67*77438bbcSYuri Dario ULONG __ulMouseMappingsCount; 68*77438bbcSYuri Dario } HOOKCONFIG, *PHOOKCONFIG; 69*77438bbcSYuri Dario #pragma pack() 70*77438bbcSYuri Dario 71cdf0e10cSrcweir class Os2SalMenu : public SalMenu 72cdf0e10cSrcweir { 73cdf0e10cSrcweir public: Os2SalMenu()74cdf0e10cSrcweir Os2SalMenu() {} 75cdf0e10cSrcweir virtual ~Os2SalMenu(); 76cdf0e10cSrcweir 77fc9fd3f1SPedro Giffuni virtual sal_Bool VisibleMenuBar(); // must return TRUE to actually DISPLAY native menu bars 78cdf0e10cSrcweir // otherwise only menu messages are processed (eg, OLE on Windows) 79cdf0e10cSrcweir 80cdf0e10cSrcweir virtual void InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos ); 81cdf0e10cSrcweir virtual void RemoveItem( unsigned nPos ); 82cdf0e10cSrcweir virtual void SetSubMenu( SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsigned nPos ); 83cdf0e10cSrcweir virtual void SetFrame( const SalFrame* pFrame ); 84fc9fd3f1SPedro Giffuni virtual void CheckItem( unsigned nPos, sal_Bool bCheck ); 85fc9fd3f1SPedro Giffuni virtual void EnableItem( unsigned nPos, sal_Bool bEnable ); 86cdf0e10cSrcweir virtual void SetItemText( unsigned nPos, SalMenuItem* pSalMenuItem, const XubString& rText ); 87cdf0e10cSrcweir virtual void SetItemImage( unsigned nPos, SalMenuItem* pSalMenuItem, const Image& rImage); 88cdf0e10cSrcweir virtual void SetAccelerator( unsigned nPos, SalMenuItem* pSalMenuItem, const KeyCode& rKeyCode, const XubString& rKeyName ); 89cdf0e10cSrcweir virtual void GetSystemMenuData( SystemMenuData* pData ); 90cdf0e10cSrcweir }; 91cdf0e10cSrcweir 92cdf0e10cSrcweir class Os2SalMenuItem : public SalMenuItem 93cdf0e10cSrcweir { 94cdf0e10cSrcweir public: Os2SalMenuItem()95cdf0e10cSrcweir Os2SalMenuItem() {} 96cdf0e10cSrcweir virtual ~Os2SalMenuItem(); 97cdf0e10cSrcweir }; 98cdf0e10cSrcweir 99cdf0e10cSrcweir #endif // _SV_SALMENU_H 100cdf0e10cSrcweir 101