Mana
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members

Trade dialog. More...

#include <tradewindow.h>

Inheritance diagram for TradeWindow:
Window

Public Member Functions

 TradeWindow ()
 
 ~TradeWindow () override
 
void setMoney (int quantity)
 Displays expected money in the trade window.
 
void addItem (int id, bool own, int quantity)
 Add an item to the trade window.
 
void reset ()
 Reset both item containers.
 
void addItem (int id, bool own, int quantity, bool equipment)
 Add an item to the trade window.
 
void changeQuantity (int index, bool own, int quantity)
 Change quantity of an item.
 
void increaseQuantity (int index, bool own, int quantity)
 Increase quantity of an item.
 
void receivedOk (bool own)
 Player received ok message from server.
 
void valueChanged (const gcn::SelectionEvent &event) override
 Updates the labels and makes sure only one item is selected in either my inventory or partner inventory.
 
void action (const gcn::ActionEvent &event) override
 Called when receiving actions from the widgets.
 
void close () override
 Closes the Trade Window, as well as telling the server that the window has been closed.
 
- Public Member Functions inherited from Window
 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.
 
virtual void setVisible (bool visible)
 Overloads window setVisible by Guichan to allow sticky window handling.
 
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.
 
WindowgetParentWindow () 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.
 
LayoutgetLayout ()
 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.
 
LayoutCellplace (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 SkingetSkin () const
 Returns the Skin used by this window.
 

Private Types

enum  Status { PREPARING , PROPOSING , ACCEPTING , ACCEPTED }
 

Private Member Functions

void setStatus (Status s)
 Sets the current status of the trade.
 

Private Attributes

const std::unique_ptr< InventorymMyInventory
 
const std::unique_ptr< InventorymPartnerInventory
 
ItemContainermMyItemContainer
 
ItemContainermPartnerItemContainer
 
gcn::Label * mMoneyLabel
 
gcn::Button * mAddButton
 
gcn::Button * mOkButton
 
gcn::Button * mMoneyChangeButton
 
gcn::TextField * mMoneyField
 
Status mStatus
 
bool mOkOther
 
bool mOkMe
 

Additional Inherited Members

- Static Public Member Functions inherited from Window
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.
 
- Static Protected Attributes inherited from Window
static int mouseResize = 0
 Active resize handles.
 

Detailed Description

Trade dialog.

Definition at line 41 of file tradewindow.h.

Member Enumeration Documentation

◆ Status

enum TradeWindow::Status
private
Enumerator
PREPARING 

Players are adding items.

(1)

PROPOSING 

Local player has confirmed the trade.

(1)

ACCEPTING 

Accepting the trade.

(2)

ACCEPTED 

Local player has accepted the trade.

Definition at line 101 of file tradewindow.h.

Constructor & Destructor Documentation

◆ TradeWindow()

TradeWindow::TradeWindow ( )

Definition at line 54 of file tradewindow.cpp.

◆ ~TradeWindow()

TradeWindow::~TradeWindow ( )
overridedefault

Member Function Documentation

◆ action()

void TradeWindow::action ( const gcn::ActionEvent &  event)
override

Called when receiving actions from the widgets.

Definition at line 229 of file tradewindow.cpp.

◆ addItem() [1/2]

void TradeWindow::addItem ( int  id,
bool  own,
int  quantity 
)

Add an item to the trade window.

Definition at line 133 of file tradewindow.cpp.

◆ addItem() [2/2]

void TradeWindow::addItem ( int  id,
bool  own,
int  quantity,
bool  equipment 
)

Add an item to the trade window.

◆ changeQuantity()

void TradeWindow::changeQuantity ( int  index,
bool  own,
int  quantity 
)

Change quantity of an item.

Definition at line 141 of file tradewindow.cpp.

◆ close()

void TradeWindow::close ( )
overridevirtual

Closes the Trade Window, as well as telling the server that the window has been closed.

Reimplemented from Window.

Definition at line 301 of file tradewindow.cpp.

◆ increaseQuantity()

void TradeWindow::increaseQuantity ( int  index,
bool  own,
int  quantity 
)

Increase quantity of an item.

Definition at line 149 of file tradewindow.cpp.

◆ receivedOk()

void TradeWindow::receivedOk ( bool  own)

Player received ok message from server.

Definition at line 171 of file tradewindow.cpp.

◆ reset()

void TradeWindow::reset ( )

Reset both item containers.

Definition at line 157 of file tradewindow.cpp.

◆ setMoney()

void TradeWindow::setMoney ( int  quantity)

Displays expected money in the trade window.

Definition at line 126 of file tradewindow.cpp.

◆ setStatus()

void TradeWindow::setStatus ( Status  s)
private

Sets the current status of the trade.

Definition at line 198 of file tradewindow.cpp.

◆ valueChanged()

void TradeWindow::valueChanged ( const gcn::SelectionEvent &  event)
override

Updates the labels and makes sure only one item is selected in either my inventory or partner inventory.

Definition at line 186 of file tradewindow.cpp.

Member Data Documentation

◆ mAddButton

gcn::Button* TradeWindow::mAddButton
private

Definition at line 121 of file tradewindow.h.

◆ mMoneyChangeButton

gcn::Button* TradeWindow::mMoneyChangeButton
private

Definition at line 123 of file tradewindow.h.

◆ mMoneyField

gcn::TextField* TradeWindow::mMoneyField
private

Definition at line 124 of file tradewindow.h.

◆ mMoneyLabel

gcn::Label* TradeWindow::mMoneyLabel
private

Definition at line 120 of file tradewindow.h.

◆ mMyInventory

const std::unique_ptr<Inventory> TradeWindow::mMyInventory
private

Definition at line 114 of file tradewindow.h.

◆ mMyItemContainer

ItemContainer* TradeWindow::mMyItemContainer
private

Definition at line 117 of file tradewindow.h.

◆ mOkButton

gcn::Button* TradeWindow::mOkButton
private

Definition at line 122 of file tradewindow.h.

◆ mOkMe

bool TradeWindow::mOkMe
private

Definition at line 127 of file tradewindow.h.

◆ mOkOther

bool TradeWindow::mOkOther
private

Definition at line 127 of file tradewindow.h.

◆ mPartnerInventory

const std::unique_ptr<Inventory> TradeWindow::mPartnerInventory
private

Definition at line 115 of file tradewindow.h.

◆ mPartnerItemContainer

ItemContainer* TradeWindow::mPartnerItemContainer
private

Definition at line 118 of file tradewindow.h.

◆ mStatus

Status TradeWindow::mStatus
private

Definition at line 126 of file tradewindow.h.


The documentation for this class was generated from the following files: