Browse Source

Merge pull request #416 from Filtik/chathistory

Implement chat history browsing (Client and Python)
Adam Johnson 10 years ago
parent
commit
5e9378ad5e
  1. 8
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDialogNotifyProc.cpp
  2. 16
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp
  3. 4
      Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.h
  4. 4
      Sources/Plasma/FeatureLib/pfMessage/pfGUINotifyMsg.h

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

@ -105,6 +105,14 @@ void pfGUIDialogNotifyProc::HandleExtendedEvent( pfGUIControlMod *ctrl, uint32_t
//send notify, somebody will do something with that (like python script)
ISendNotify( ctrl->GetKey(), pfGUINotifyMsg::kSpecialAction );
}
else if(edit && event == pfGUIEditBoxMod::kWantMessageHistoryUp)
{
ISendNotify( ctrl->GetKey(), pfGUINotifyMsg::kMessageHistoryUp );
}
else if(edit && event == pfGUIEditBoxMod::kWantMessageHistoryDown)
{
ISendNotify( ctrl->GetKey(), pfGUINotifyMsg::kMessageHistoryDown );
}
}
void pfGUIDialogNotifyProc::OnInit( void )

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

@ -335,11 +335,11 @@ bool pfGUIEditBoxMod::HandleKeyEvent( pfGameGUIMgr::EventType event, plKeyDef
{
fFirstHalfExitKeyPushed = false;
// Use arrow keys to do our dirty work
if( key == KEY_UP || key == KEY_HOME )
if( key == KEY_HOME )
{
SetCursorToHome();
}
else if( key == KEY_DOWN || key == KEY_END )
else if( key == KEY_END )
{
SetCursorToEnd();
}
@ -381,9 +381,19 @@ bool pfGUIEditBoxMod::HandleKeyEvent( pfGameGUIMgr::EventType event, plKeyDef
}
else if (key == KEY_TAB)
{
//Send notify for python scripts
// Send notify for python scripts
HandleExtendedEvent(kWantAutocomplete);
}
else if (key == KEY_UP)
{
// Send notify for python scripts
HandleExtendedEvent(kWantMessageHistoryUp);
}
else if (key == KEY_DOWN)
{
// Send notify for python scripts
HandleExtendedEvent(kWantMessageHistoryDown);
}
else if (modifiers & pfGameGUIMgr::kCtrlDown)
{
if (key == KEY_C)

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

@ -129,7 +129,9 @@ class pfGUIEditBoxMod : public pfGUIControlMod
enum ExtendedEvents
{
kValueChanging,
kWantAutocomplete
kWantAutocomplete,
kWantMessageHistoryUp,
kWantMessageHistoryDown
};
};

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

@ -84,6 +84,8 @@ public:
kExitMode, // GUI Exit Mode key was pressed
kInterestingEvent, // GUI interesting-ness has changed
kSpecialAction, // meaning depends on control functionality (see below)
kMessageHistoryUp, // up key to scroll back in history
kMessageHistoryDown,// down key to scroll forward in history
kEndEventList
};
@ -99,6 +101,8 @@ public:
// kEditBox
// kAction - enter key hit
// kSpecialAction - tab key hit (for autocompletion on Python side)
// kMessageHistoryUp - up key hit
// kMessageHistoryDown - down key hit
// kUpDownPair
// kValueChanged - the value of the pair has been changed
// kKnob

Loading…
Cancel
Save