Browse Source

Merge pull request #171 from boq/tabcompletion

Plasma part of chat name completion
Adam Johnson 13 years ago
parent
commit
2807fb455b
  1. 2
      Sources/Plasma/FeatureLib/pfGameGUIMgr/CMakeLists.txt
  2. 10
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDialogNotifyProc.cpp
  3. 1
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDialogNotifyProc.h
  4. 5
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp
  5. 3
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.h
  6. 1
      Sources/Plasma/FeatureLib/pfMessage/CMakeLists.txt
  7. 2
      Sources/Plasma/FeatureLib/pfMessage/pfGUINotifyMsg.h

2
Sources/Plasma/FeatureLib/pfGameGUIMgr/CMakeLists.txt

@ -43,7 +43,7 @@ set(pfGameGUIMgr_HEADERS
pfGUICtrlGenerator.h
pfGUIDialogHandlers.h
pfGUIDialogMod.h
pfGUIDialogNotifyProc.cpp
pfGUIDialogNotifyProc.h
pfGUIDragBarCtrl.h
pfGUIDraggableMod.h
pfGUIDynDisplayCtrl.h

10
Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDialogNotifyProc.cpp

@ -97,6 +97,16 @@ void pfGUIDialogNotifyProc::DoSomething( pfGUIControlMod *ctrl )
ISendNotify( ctrl->GetKey(), pfGUINotifyMsg::kValueChanged );
}
void pfGUIDialogNotifyProc::HandleExtendedEvent( pfGUIControlMod *ctrl, uint32_t event )
{
pfGUIEditBoxMod *edit = pfGUIEditBoxMod::ConvertNoRef( ctrl );
if(edit != nil && event == pfGUIEditBoxMod::kWantAutocomplete)
{
//send notify, somebody will do something with that (like python script)
ISendNotify( ctrl->GetKey(), pfGUINotifyMsg::kSpecialAction );
}
}
void pfGUIDialogNotifyProc::OnInit( void )
{
if ( fDialog )

1
Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDialogNotifyProc.h

@ -70,6 +70,7 @@ class pfGUIDialogNotifyProc : public pfGUIDialogProc
pfGUIDialogNotifyProc( plKey &r );
virtual void DoSomething( pfGUIControlMod *ctrl );
virtual void HandleExtendedEvent( pfGUIControlMod *ctrl, uint32_t event );
virtual void OnInit( void );
virtual void OnShow( void );
virtual void OnHide( void );

5
Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp

@ -379,6 +379,11 @@ hsBool pfGUIEditBoxMod::HandleKeyEvent( pfGameGUIMgr::EventType event, plKeyDef
DoSomething(); // Query WasEscaped() to see if it was escape vs enter
return true;
}
else if (key == KEY_TAB)
{
//Send notify for python scripts
HandleExtendedEvent(kWantAutocomplete);
}
else if (modifiers & pfGameGUIMgr::kCtrlDown)
{
if (key == KEY_C)

3
Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.h

@ -129,7 +129,8 @@ class pfGUIEditBoxMod : public pfGUIControlMod
// Extended event types
enum ExtendedEvents
{
kValueChanging
kValueChanging,
kWantAutocomplete
};
};

1
Sources/Plasma/FeatureLib/pfMessage/CMakeLists.txt

@ -14,6 +14,7 @@ set(pfMessage_SOURCES
set(pfMessage_HEADERS
pfBackdoorMsg.h
pfGameGUIMsg.h
pfGUINotifyMsg.h
pfKIMsg.h
pfMarkerMsg.h
pfMessageCreatable.h

2
Sources/Plasma/FeatureLib/pfMessage/pfGUINotifyMsg.h

@ -83,6 +83,7 @@ public:
kFocusChange, // when one of its controls loses focus to another
kExitMode, // GUI Exit Mode key was pressed
kInterestingEvent, // GUI interesting-ness has changed
kSpecialAction, // meaning depends on control functionality (see below)
kEndEventList
};
@ -97,6 +98,7 @@ public:
// kAction - single click on item(s)
// kEditBox
// kAction - enter key hit
// kSpecialAction - tab key hit (for autocompletion on Python side)
// kUpDownPair
// kValueChanged - the value of the pair has been changed
// kKnob

Loading…
Cancel
Save