Mana
|
The npc dialog. More...
#include <npcdialog.h>
Public Member Functions | |
NpcDialog (int npcId) | |
~NpcDialog () override | |
void | action (const gcn::ActionEvent &event) override |
Called when receiving actions from the widgets. | |
void | setText (const std::vector< std::string > &string) |
Sets the text shows in the dialog. | |
void | addText (const std::string &string, bool save=true) |
Adds the text to the text shows in the dialog. | |
void | showNextButton () |
When called, the widget will show a "Next" button. | |
void | showCloseButton () |
When called, the widget will show a "Close" button and will close the dialog when clicked. | |
void | nextDialog () |
Notifies the server that client has performed a next action. | |
void | close () override |
Notifies the server that the client has performed a close action. | |
int | getNumberOfElements () override |
Returns the number of items in the choices list. | |
std::string | getElementAt (int i) override |
Returns the name of item number i of the choices list. | |
void | choiceRequest () |
Makes this dialog request a choice selection from the user. | |
void | addChoice (const std::string &) |
Adds a choice to the list box. | |
void | initChoiceSelection () |
Put focus on the first choice. | |
void | textRequest (const std::string &defaultText=std::string()) |
Requests a text string from the user. | |
bool | isInputFocused () const |
bool | isTextInputFocused () const |
void | integerRequest (int defaultValue, int min, int max) |
Requests an integer from the user. | |
void | move (int amount) |
void | setVisible (bool visible) override |
Overloads window setVisible by Guichan to allow sticky window handling. | |
void | mouseClicked (gcn::MouseEvent &mouseEvent) override |
bool | isWaitingForTheServer () const |
![]() | |
Window (const std::string &caption="Window", bool modal=false, Window *parent=nullptr) | |
Constructor. | |
Window (SkinType skinType, const std::string &caption="Window", bool modal=false, Window *parent=nullptr) | |
Constructor that allows customizing the SkinType used by the window. | |
~Window () override | |
Destructor. | |
void | draw (gcn::Graphics *graphics) override |
Draws the window contents. | |
void | drawFrame (gcn::Graphics *graphics) override |
Draws the window frame. | |
void | setContentSize (int width, int height) |
Sets the size of this window. | |
void | setMinimumContentSize (int width, int height) |
Sets the minimum size of the window content. | |
void | setLocationRelativeTo (gcn::Widget *widget) |
Sets the location relative to the given widget. | |
void | setResizable (bool resize) |
Sets whether or not the window can be resized. | |
void | redraw () |
void | widgetResized (const gcn::Event &event) override |
Called whenever the widget changes size. | |
void | widgetHidden (const gcn::Event &event) override |
Called whenever the widget is hidden. | |
void | setCloseButton (bool flag) |
Sets whether or not the window has a close button. | |
bool | isResizable () const |
Returns whether the window can be resized. | |
void | setMinWidth (int width) |
Sets the minimum width of the window. | |
int | getMinWidth () const |
void | setMinHeight (int height) |
Sets the minimum height of the window. | |
int | getMinHeight () const |
void | setMaxWidth (int width) |
Sets the maximum width of the window. | |
int | getMaxWidth () const |
void | setMaxHeight (int height) |
Sets the minimum height of the window. | |
int | getMaxHeight () const |
void | setShowTitle (bool flag) |
Sets flag to show a title or not. | |
void | setStickyButton (bool flag) |
Sets whether or not the window has a sticky button. | |
void | setSticky (bool sticky) |
Sets whether the window is sticky. | |
bool | isSticky () const |
Returns whether the window is sticky. | |
void | setVisible (bool visible, bool forceSticky) |
Overloads window setVisible by Guichan to allow sticky window handling, or not, if you force the sticky state. | |
bool | isDefaultVisible () const |
Returns whether the window is visible by default. | |
void | setDefaultVisible (bool save) |
Sets whether the window is visible by default. | |
bool | willSaveVisible () const |
Returns whether the window will save it's visibility. | |
void | setSaveVisible (bool save) |
Sets whether the window will save it's visibility. | |
Window * | getParentWindow () const |
Returns the parent window. | |
void | scheduleDelete () |
Schedule this window for deletion. | |
void | mousePressed (gcn::MouseEvent &event) override |
Starts window resizing when appropriate. | |
void | mouseDragged (gcn::MouseEvent &event) override |
Implements window resizing and makes sure the window is not dragged/resized outside of the screen. | |
void | mouseMoved (gcn::MouseEvent &event) override |
Implements custom cursor image changing context, based on mouse relative position. | |
void | mouseReleased (gcn::MouseEvent &event) override |
When the mouse button has been let go, this ensures that the mouse custom cursor is restored back to it's standard image. | |
void | mouseExited (gcn::MouseEvent &event) override |
When the mouse leaves the window this ensures that the custom cursor is restored back to it's standard image. | |
void | setWindowName (const std::string &name) |
Sets the name of the window. | |
const std::string & | getWindowName () const |
Returns the name of the window. | |
void | loadWindowState () |
Reads the position (and the size for resizable windows) in the configuration based on the given string. | |
void | saveWindowState () const |
Saves the window state so that when the window is reloaded, it'll maintain its previous state and location. | |
void | setDefaultSize (int defaultX, int defaultY, int defaultWidth, int defaultHeight) |
Set the default win pos and size. | |
void | setDefaultSize () |
Set the default win pos and size to the current ones. | |
void | setDefaultSize (int defaultWidth, int defaultHeight, WindowAlignment alignment, int offsetx=0, int offsetY=0) |
Set the default win pos and size. | |
virtual void | resetToDefaultSize () |
Reset the win pos and size to default. | |
void | adjustPositionAfterResize (int oldScreenWidth, int oldScreenHeight) |
Adjusts the window position after the application window has been resized. | |
Layout & | getLayout () |
Gets the layout handler for this window. | |
void | clearLayout () |
Clears the window's layout (useful for redesigning the window). | |
void | reflowLayout (int w=0, int h=0) |
Computes the position of the widgets according to the current layout. | |
LayoutCell & | place (int x, int y, gcn::Widget *, int w=1, int h=1) |
Adds a widget to the window and sets it at given cell. | |
ContainerPlacer | getPlacer (int x, int y) |
Returns a proxy for adding widgets in an inner table of the layout. | |
void | center () |
Positions the window in the center of it's parent. | |
const Skin & | getSkin () const |
Returns the Skin used by this window. | |
Static Public Member Functions | |
static bool | isAnyInputFocused () |
static NpcDialog * | getActive () |
Returns the first active instance. | |
static void | closeAll () |
Closes all instances. | |
static void | setup () |
![]() | |
static void | setWindowContainer (WindowContainer *windowContainer) |
Sets the window container to be used by new windows. | |
static int | getGuiAlpha () |
Gets the alpha value used by the window, in a Guichan usable format. | |
Private Types | |
enum | NpcInputState { NPC_INPUT_NONE , NPC_INPUT_LIST , NPC_INPUT_STRING , NPC_INPUT_INTEGER } |
enum | NpcActionState { NPC_ACTION_WAIT , NPC_ACTION_NEXT , NPC_ACTION_INPUT , NPC_ACTION_CLOSE } |
using | DialogList = std::list< NpcDialog * > |
Private Member Functions | |
void | buildLayout () |
Private Attributes | |
int | mNpcId |
int | mDefaultInt = 0 |
std::string | mDefaultString |
gcn::ScrollArea * | mScrollArea |
BrowserBox * | mTextBox |
std::vector< std::string > | mNewText |
std::unique_ptr< ItemLinkHandler > | mItemLinkHandler |
ListBox * | mItemList |
gcn::ScrollArea * | mListScrollArea |
std::vector< std::string > | mItems |
TextField * | mTextField |
IntTextField * | mIntField |
Button * | mPlusButton |
Button * | mMinusButton |
Button * | mClearButton |
Button * | mNextButton |
Button * | mResetButton |
NpcInputState | mInputState = NPC_INPUT_NONE |
NpcActionState | mActionState = NPC_ACTION_WAIT |
Static Private Attributes | |
static DialogList | instances |
Additional Inherited Members | |
![]() | |
static int | mouseResize = 0 |
Active resize handles. | |
The npc dialog.
Definition at line 46 of file npcdialog.h.
|
private |
Definition at line 161 of file npcdialog.h.
|
private |
Enumerator | |
---|---|
NPC_ACTION_WAIT | |
NPC_ACTION_NEXT | |
NPC_ACTION_INPUT | |
NPC_ACTION_CLOSE |
Definition at line 205 of file npcdialog.h.
|
private |
Enumerator | |
---|---|
NPC_INPUT_NONE | |
NPC_INPUT_LIST | |
NPC_INPUT_STRING | |
NPC_INPUT_INTEGER |
Definition at line 197 of file npcdialog.h.
NpcDialog::NpcDialog | ( | int | npcId | ) |
Definition at line 71 of file npcdialog.cpp.
|
override |
Definition at line 147 of file npcdialog.cpp.
|
override |
Called when receiving actions from the widgets.
Definition at line 198 of file npcdialog.cpp.
void NpcDialog::addChoice | ( | const std::string & | choice | ) |
Adds a choice to the list box.
Definition at line 302 of file npcdialog.cpp.
void NpcDialog::addText | ( | const std::string & | string, |
bool | save = true |
||
) |
Adds the text to the text shows in the dialog.
Also adds a newline to the end.
string | The text to add. |
Definition at line 174 of file npcdialog.cpp.
|
private |
Definition at line 422 of file npcdialog.cpp.
void NpcDialog::choiceRequest | ( | ) |
Makes this dialog request a choice selection from the user.
Definition at line 294 of file npcdialog.cpp.
|
overridevirtual |
Notifies the server that the client has performed a close action.
@overrides Window::close()
Reimplemented from Window.
Definition at line 278 of file npcdialog.cpp.
|
static |
Closes all instances.
Definition at line 406 of file npcdialog.cpp.
|
static |
Returns the first active instance.
Useful for pushing user interaction.
Definition at line 394 of file npcdialog.cpp.
|
override |
Returns the name of item number i of the choices list.
Definition at line 289 of file npcdialog.cpp.
|
override |
Returns the number of items in the choices list.
Definition at line 284 of file npcdialog.cpp.
void NpcDialog::initChoiceSelection | ( | ) |
Put focus on the first choice.
Definition at line 307 of file npcdialog.cpp.
void NpcDialog::integerRequest | ( | int | defaultValue, |
int | min, | ||
int | max | ||
) |
Requests an integer from the user.
Definition at line 340 of file npcdialog.cpp.
|
static |
Definition at line 331 of file npcdialog.cpp.
bool NpcDialog::isInputFocused | ( | ) | const |
Definition at line 326 of file npcdialog.cpp.
bool NpcDialog::isTextInputFocused | ( | ) | const |
Definition at line 321 of file npcdialog.cpp.
|
inline |
Definition at line 150 of file npcdialog.h.
|
override |
Definition at line 379 of file npcdialog.cpp.
void NpcDialog::move | ( | int | amount | ) |
Definition at line 350 of file npcdialog.cpp.
void NpcDialog::nextDialog | ( | ) |
Notifies the server that client has performed a next action.
Definition at line 273 of file npcdialog.cpp.
void NpcDialog::setText | ( | const std::vector< std::string > & | string | ) |
Sets the text shows in the dialog.
string | The new text. |
Definition at line 167 of file npcdialog.cpp.
|
static |
Definition at line 412 of file npcdialog.cpp.
|
overridevirtual |
Overloads window setVisible by Guichan to allow sticky window handling.
Reimplemented from Window.
Definition at line 369 of file npcdialog.cpp.
void NpcDialog::showCloseButton | ( | ) |
When called, the widget will show a "Close" button and will close the dialog when clicked.
Definition at line 192 of file npcdialog.cpp.
void NpcDialog::showNextButton | ( | ) |
When called, the widget will show a "Next" button.
Definition at line 186 of file npcdialog.cpp.
void NpcDialog::textRequest | ( | const std::string & | defaultText = std::string() | ) |
Requests a text string from the user.
Definition at line 312 of file npcdialog.cpp.
|
staticprivate |
Definition at line 162 of file npcdialog.h.
|
private |
Definition at line 214 of file npcdialog.h.
|
private |
Definition at line 189 of file npcdialog.h.
|
private |
Definition at line 168 of file npcdialog.h.
|
private |
Definition at line 169 of file npcdialog.h.
|
private |
Definition at line 213 of file npcdialog.h.
|
private |
Definition at line 185 of file npcdialog.h.
|
private |
Definition at line 176 of file npcdialog.h.
|
private |
Definition at line 179 of file npcdialog.h.
|
private |
Definition at line 181 of file npcdialog.h.
|
private |
Definition at line 180 of file npcdialog.h.
|
private |
Definition at line 187 of file npcdialog.h.
|
private |
Definition at line 174 of file npcdialog.h.
|
private |
Definition at line 192 of file npcdialog.h.
|
private |
Definition at line 166 of file npcdialog.h.
|
private |
Definition at line 186 of file npcdialog.h.
|
private |
Definition at line 195 of file npcdialog.h.
|
private |
Definition at line 172 of file npcdialog.h.
|
private |
Definition at line 173 of file npcdialog.h.
|
private |
Definition at line 184 of file npcdialog.h.