1f5ac2da0SJohn Scipione /* 2f5ac2da0SJohn Scipione * Copyright 2011 Haiku Inc. All rights reserved. 3f5ac2da0SJohn Scipione * Distributed under the terms of the MIT License. 4f5ac2da0SJohn Scipione * 5f5ac2da0SJohn Scipione * Authors: 6f5ac2da0SJohn Scipione * John Scipione, jscipione@gmail.com 7f5ac2da0SJohn Scipione */ 8f5ac2da0SJohn Scipione #ifndef MODIFIER_KEYS_WINDOW_H 9f5ac2da0SJohn Scipione #define MODIFIER_KEYS_WINDOW_H 10f5ac2da0SJohn Scipione 11f5ac2da0SJohn Scipione 12f5ac2da0SJohn Scipione #include <Window.h> 13f5ac2da0SJohn Scipione 14f5ac2da0SJohn Scipione 152388b04aSJohn Scipione class BMenuField; 162388b04aSJohn Scipione class BPopUpMenu; 172388b04aSJohn Scipione 182388b04aSJohn Scipione 192388b04aSJohn Scipione class ConflictView : public BView { 202388b04aSJohn Scipione public: 212388b04aSJohn Scipione ConflictView(const char* name); 222388b04aSJohn Scipione ~ConflictView(); 232388b04aSJohn Scipione 242388b04aSJohn Scipione virtual void Draw(BRect updateRect); 252388b04aSJohn Scipione 262388b04aSJohn Scipione BBitmap* Icon(); 272388b04aSJohn Scipione void ShowIcon(bool show); 282388b04aSJohn Scipione 292388b04aSJohn Scipione private: 302388b04aSJohn Scipione void _FillSavedIcon(); 312388b04aSJohn Scipione 322388b04aSJohn Scipione BBitmap* fIcon; 332388b04aSJohn Scipione BBitmap* fSavedIcon; 342388b04aSJohn Scipione }; 352388b04aSJohn Scipione 363cee15aaSJohn Scipione 37f5ac2da0SJohn Scipione class ModifierKeysWindow : public BWindow { 38f5ac2da0SJohn Scipione public: 39f5ac2da0SJohn Scipione ModifierKeysWindow(); 40f5ac2da0SJohn Scipione virtual ~ModifierKeysWindow(); 41f5ac2da0SJohn Scipione 42f5ac2da0SJohn Scipione virtual void MessageReceived(BMessage* message); 43f5ac2da0SJohn Scipione 44*460168d5SJohn Scipione private: 453cee15aaSJohn Scipione BMenuField* _CreateShiftMenuField(); 46f5ac2da0SJohn Scipione BMenuField* _CreateControlMenuField(); 47f5ac2da0SJohn Scipione BMenuField* _CreateOptionMenuField(); 48f5ac2da0SJohn Scipione BMenuField* _CreateCommandMenuField(); 49f5ac2da0SJohn Scipione 50f5ac2da0SJohn Scipione void _MarkMenuItems(); 51bce949f5SJohn Scipione const char* _KeyToString(int32 key); 523cee15aaSJohn Scipione uint32 _KeyToKeyCode(int32 key, 533cee15aaSJohn Scipione bool right = false); 543cee15aaSJohn Scipione int32 _LastKey(); 553cee15aaSJohn Scipione void _ValidateDuplicateKeys(); 563cee15aaSJohn Scipione uint32 _DuplicateKeys(); 57f5ac2da0SJohn Scipione 583cee15aaSJohn Scipione BPopUpMenu* fShiftMenu; 59f5ac2da0SJohn Scipione BPopUpMenu* fControlMenu; 60f5ac2da0SJohn Scipione BPopUpMenu* fOptionMenu; 61f5ac2da0SJohn Scipione BPopUpMenu* fCommandMenu; 62f5ac2da0SJohn Scipione 633cee15aaSJohn Scipione ConflictView* fShiftConflictView; 643cee15aaSJohn Scipione ConflictView* fControlConflictView; 653cee15aaSJohn Scipione ConflictView* fOptionConflictView; 663cee15aaSJohn Scipione ConflictView* fCommandConflictView; 671a6b60e6SJohn Scipione 68f5ac2da0SJohn Scipione BButton* fRevertButton; 69f5ac2da0SJohn Scipione BButton* fCancelButton; 70f5ac2da0SJohn Scipione BButton* fOkButton; 71f5ac2da0SJohn Scipione 72f5ac2da0SJohn Scipione key_map* fCurrentMap; 73f5ac2da0SJohn Scipione key_map* fSavedMap; 74f5ac2da0SJohn Scipione 75f5ac2da0SJohn Scipione char* fCurrentBuffer; 76f5ac2da0SJohn Scipione char* fSavedBuffer; 77f5ac2da0SJohn Scipione }; 78f5ac2da0SJohn Scipione 79bce949f5SJohn Scipione 80f5ac2da0SJohn Scipione #endif // MODIFIER_KEYS_WINDOW_H 81