124f6443dSAndrew Rist /************************************************************** 2fc9fd3f1SPedro Giffuni * 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 10fc9fd3f1SPedro Giffuni * 1124f6443dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12fc9fd3f1SPedro Giffuni * 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. 19fc9fd3f1SPedro Giffuni * 2024f6443dSAndrew Rist *************************************************************/ 2124f6443dSAndrew Rist 2224f6443dSAndrew Rist 23fc9fd3f1SPedro Giffuni 24fc9fd3f1SPedro Giffuni #ifndef _SV_SALMENU_H 25fc9fd3f1SPedro Giffuni #define _SV_SALMENU_H 26fc9fd3f1SPedro Giffuni 27fc9fd3f1SPedro Giffuni #include <vcl/bitmap.hxx> 28fc9fd3f1SPedro Giffuni #include <salmenu.hxx> 29fc9fd3f1SPedro Giffuni 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 71fc9fd3f1SPedro Giffuni class Os2SalMenu : public SalMenu 72fc9fd3f1SPedro Giffuni { 73fc9fd3f1SPedro Giffuni public: Os2SalMenu()74fc9fd3f1SPedro Giffuni Os2SalMenu() {} 75fc9fd3f1SPedro Giffuni virtual ~Os2SalMenu(); 76fc9fd3f1SPedro Giffuni 77fc9fd3f1SPedro Giffuni virtual sal_Bool VisibleMenuBar(); // must return TRUE to actually DISPLAY native menu bars 78fc9fd3f1SPedro Giffuni // otherwise only menu messages are processed (eg, OLE on Windows) 79fc9fd3f1SPedro Giffuni 80fc9fd3f1SPedro Giffuni virtual void InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos ); 81fc9fd3f1SPedro Giffuni virtual void RemoveItem( unsigned nPos ); 82fc9fd3f1SPedro Giffuni virtual void SetSubMenu( SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsigned nPos ); 83fc9fd3f1SPedro Giffuni 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 ); 86fc9fd3f1SPedro Giffuni virtual void SetItemText( unsigned nPos, SalMenuItem* pSalMenuItem, const XubString& rText ); 87fc9fd3f1SPedro Giffuni virtual void SetItemImage( unsigned nPos, SalMenuItem* pSalMenuItem, const Image& rImage); 88fc9fd3f1SPedro Giffuni virtual void SetAccelerator( unsigned nPos, SalMenuItem* pSalMenuItem, const KeyCode& rKeyCode, const XubString& rKeyName ); 89fc9fd3f1SPedro Giffuni virtual void GetSystemMenuData( SystemMenuData* pData ); 90fc9fd3f1SPedro Giffuni }; 91fc9fd3f1SPedro Giffuni 92fc9fd3f1SPedro Giffuni class Os2SalMenuItem : public SalMenuItem 93fc9fd3f1SPedro Giffuni { 94fc9fd3f1SPedro Giffuni public: Os2SalMenuItem()95fc9fd3f1SPedro Giffuni Os2SalMenuItem() {} 96fc9fd3f1SPedro Giffuni virtual ~Os2SalMenuItem(); 97fc9fd3f1SPedro Giffuni }; 98fc9fd3f1SPedro Giffuni 99fc9fd3f1SPedro Giffuni #endif // _SV_SALMENU_H 100fc9fd3f1SPedro Giffuni 101