Crazy Eddie's GUI System 0.8.7
EventLinkDefinition.h
1/***********************************************************************
2 created: Sun Nov 21 2010
3 author: Paul D Turner <paul@cegui.org.uk>
4*************************************************************************/
5/***************************************************************************
6 * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining
9 * a copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be
17 * included in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 * OTHER DEALINGS IN THE SOFTWARE.
26 ***************************************************************************/
27#ifndef _CEGUIFalEventLinkDefinition_h_
28#define _CEGUIFalEventLinkDefinition_h_
29
30#include "../String.h"
31#include "../IteratorBase.h"
32
33#include <vector>
34
35#if defined(_MSC_VER)
36# pragma warning(push)
37# pragma warning(disable : 4251)
38#endif
39
40// Start of CEGUI namespace section
41namespace CEGUI
42{
43class CEGUIEXPORT EventLinkDefinition :
44 public AllocatedObject<EventLinkDefinition>
45{
46public:
47 EventLinkDefinition(const String& event_name);
49
51 void addLinkTarget(const String& widget, const String& event);
54
56 void initialiseWidget(Window& window) const;
57
59 void cleanUpWidget(Window& window) const;
60
61
62 void setName(const String& name);
64 const String& getName() const;
65
66protected:
69 const String& name) const;
70
73
74 typedef std::pair<String,String> StringPair;
76 typedef std::vector<StringPair CEGUI_VECTOR_ALLOC(StringPair)> LinkTargetCollection;
77
80public:
82 LinkTargetIterator getLinkTargetIterator() const;
83};
84
85} // End of CEGUI namespace section
86
87#if defined(_MSC_VER)
88# pragma warning(pop)
89#endif
90
91#endif // end of guard _CEGUIFalEventLinkDefinition_h_
92
Definition: MemoryAllocatedObject.h:110
iterator for vectors
Definition: IteratorBase.h:288
Definition: EventLinkDefinition.h:45
void addLinkTarget(const String &widget, const String &event)
add a new link target to event on widget (name).
void cleanUpWidget(Window &window) const
clean this event from window.
const String & getName() const
return the name of the Event defined here.
LinkTargetCollection d_targets
collection of targets for this EventLinkDefinition.
Definition: EventLinkDefinition.h:79
std::vector< StringPair CEGUI_VECTOR_ALLOC(StringPair)> LinkTargetCollection
type used for the collection of target events.
Definition: EventLinkDefinition.h:76
void initialiseWidget(Window &window) const
initialise window with an event link as specified here.
Window * getTargetWindow(Window &start_wnd, const String &name) const
Return a pointer to the target window with the given name.
String d_eventName
String holding the name of the event being defined.
Definition: EventLinkDefinition.h:72
void clearLinkTargets()
clear all link targets from this link definition.
String class used within the GUI system.
Definition: String.h:64
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:151
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1