![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtKeyMappingEditorWidgetInterface.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvUtil/signalslib.h> 00016 00017 #include <vrvCoreQt/vrvCoreQt.h> 00018 #include <vrvCore/DtKeyEvent.h> 00019 00020 class QWidget; 00021 00022 namespace makVrv 00023 { 00024 class DtKeyMapping; 00025 class DtKeyFunctionNameList; 00026 00029 class DT_DLL_VRVCOREQT DtKeyMappingEditorWidgetInterface 00030 { 00031 00032 public: 00034 virtual ~DtKeyMappingEditorWidgetInterface(); 00035 00037 virtual void addKeyFunction(const std::string& name, const std::string& keyString) = 0; 00038 00040 virtual void updateKeyFunction(const std::string& name, const std::string& keyString) = 0; 00041 00043 virtual void addChildKeyFunction(const std::string& name, const std::string& parentName, 00044 const std::string& keyString) = 0; 00045 00047 virtual void deleteKeyFunction(const std::string& name) = 0; 00048 00050 virtual void clearKeyFunctions() = 0; 00051 00053 virtual void sortKeyFunctions() = 0; 00054 00056 virtual void selectKeyFunction(const std::string& name) = 0; 00057 00059 virtual void selectKeyMapping( const DtKeyMapping& keyMapping, bool isBinary ) = 0; 00060 00064 virtual void setEnableFilterEditor(bool filters) = 0; 00065 00067 virtual void setFilters(const std::vector<std::pair<int,bool> >& filters) = 0; 00068 00070 virtual void addKeyMapping( const DtKeyMapping& keyMapping, 00071 bool isBinary = false ) = 0; 00072 00074 virtual void removeKeyMapping( const DtKeyMapping& keyMapping ) = 0; 00075 00077 virtual void clearKeyMappings() = 0; 00078 00080 virtual void setEnableAddMappingButton( bool enabled ) = 0; 00081 00083 virtual void setEnableRemoveMappingButton( bool enabled ) = 0; 00084 00086 virtual void setEnableEditMappingButton( bool enabled ) = 0; 00087 00089 virtual void requestInput( const std::string functionName, 00090 const DtKeyMapping& keyMapping, bool isBinary ) = 0; 00091 00093 virtual void requestInput( const std::string functionName, 00094 bool isBinary ) = 0; 00095 00097 virtual void closeEditor() = 0; 00098 00101 virtual void requestKeyValidation( const DtKeyMapping& keyMapping, 00102 const std::string functionName, const DtKeyFunctionNameList& fnList, bool isEdit ) = 0; 00103 00105 virtual void disableEditor() = 0; 00106 00108 virtual void enableEditor() = 0; 00109 00112 virtual std::string unmappedString() = 0; 00113 00115 virtual QWidget* widget() = 0; 00116 00117 public: 00118 boost::signal<void (int)> signal_filterChanged; 00119 boost::signal<void ()> signal_deselectKeyMappings; 00120 boost::signal<void (const DtKeyMapping&)> signal_selectKeyMapping; 00121 boost::signal<void ()> signal_deselectFunctions; 00122 boost::signal<void (const std::string&)> signal_selectFunction; 00123 boost::signal<void ()> signal_addKeyMapping; 00124 boost::signal<void ()> signal_removeKeyMapping; 00125 boost::signal<void ()> signal_editKeyMapping; 00126 boost::signal<void ()> signal_requestInputCanceled; 00127 boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted; 00128 boost::signal<void (const DtKeyMapping&, 00129 const DtKeyFunctionNameList&, bool, bool)> signal_requestKeyValidationAccepted; 00130 }; 00131 }