Text Object
*/
class GD_EXTENSION_API ArrayShowerObject : public Object
{
public :
enum ArrayType
{
Array1D,
Array2D,
ArrayMap
};
enum BorderStyle
{
BorderColor,
};
enum BackgroundStyle
{
BackgroundNone,
BackgroundColor,
BackgroundImage
};
enum ArrayContentOrientation
{
ContentHorizontal,
ContentVertical
};
ArrayShowerObject(std::string name_);
virtual ~ArrayShowerObject();
virtual ObjSPtr Clone() { return boost::shared_ptr<Object>(new ArrayShowerObject(*this));}
virtual bool LoadResources(const RuntimeScene & scene, const ImageManager & imageMgr );
virtual bool LoadRuntimeResources(const RuntimeScene & scene, const ImageManager & imageMgr );
virtual bool InitializeFromInitialPosition(const InitialPosition & position);
virtual bool Draw(sf::RenderWindow& main_window);
#if defined(GD_IDE_ONLY)
virtual bool DrawEdittime(sf::RenderWindow& main_window);
virtual bool GenerateThumbnail(const Game & game, wxBitmap & thumbnail);
virtual void EditObject( wxWindow* parent, Game & game_, MainEditorCommand & mainEditorCommand_ );
virtual wxPanel * CreateInitialPositionPanel( wxWindow* parent, const Game & game_, const Scene & scene_, const InitialPosition & position );
virtual void UpdateInitialPositionFromPanel(wxPanel * panel, InitialPosition & position);
virtual void GetPropertyForDebugger (unsigned int propertyNb, string & name, string & value) const;
virtual bool ChangeProperty(unsigned int propertyNb, string newValue);
virtual unsigned int GetNumberOfProperties() const;
#endif
virtual void LoadFromXml(const TiXmlElement * elemScene);
#if defined(GD_IDE_ONLY)
virtual void SaveToXml(TiXmlElement * elem);
#endif
virtual void OnPositionChanged() {};
virtual float GetWidth() const;
virtual float GetHeight() const;
virtual float GetDrawableX() const;
virtual float GetDrawableY() const;
virtual float GetCenterX() const;
virtual float GetCenterY() const;
virtual inline bool SetAngle(float newAngle) {return true;};
virtual inline float GetAngle() const {return 0;};
virtual inline void SetWidth(float newWidth) {width = newWidth;};
virtual inline void SetHeight(float newHeight) {height = newHeight;};
virtual inline std::string GetArrayToShowName() const {return arrayToShowName;};
virtual inline void SetArrayToShowName(std::string newName) {arrayToShowName = newName;};
virtual inline int GetArrayToShowType() const {return arrayToShowType;};
virtual inline void SetArrayToShowType(int newType) {arrayToShowType = newType;};
virtual inline int GetArrayOrientation() const {return arrayOrientation;};
virtual inline void SetArrayOrientation(int newOrientation) {arrayOrientation = newOrientation;};
virtual inline sf::Color GetBackgdColor() const {return backgdColor;};
virtual inline void SetBackgdColor(sf::Color newColor) {backgdColor = newColor;};
virtual inline sf::Color GetForegdColor() const {return foregdColor;};
virtual inline void SetForegdColor(sf::Color newColor) {foregdColor = newColor;};
virtual inline int GetRows() const {return rows;};
virtual inline void SetRows(int newValue) {SetNeedingSizeUpdate(true);rows = newValue;};
virtual inline int GetColumns() const {return columns;};
virtual inline void SetColumns(int newValue) {SetNeedingSizeUpdate(true);columns = newValue;};
virtual inline std::string GetRowsSizeExpression() const {return rowsSizeExpression;};
virtual inline void SetRowsSizeExpression(std::string newStr) {rowsSizeExpression = newStr;};
virtual inline std::string GetColumnsSizeExpression() const {return columnsSizeExpression;};
virtual inline void SetColumnsSizeExpression(std::string newStr) {columnsSizeExpression = newStr;};
virtual inline void SetNeedingSizeUpdate(bool need = true) {needSizeUpdate = need;};
virtual inline int GetFontSize() const {return fontSize;};
virtual inline void SetFontSize(int newSize) {fontSize = newSize;};
virtual inline int GetBorderWidth() const {return borderWidth;};
virtual inline void SetBorderWidth(int newValue) {borderWidth = newValue;};
virtual inline int GetExteriorBorderWidth() const {return extBorderWidth;};
virtual inline void SetExteriorBorderWidth(int newValue) {extBorderWidth = newValue;};
virtual inline int GetMargins() const {return margins;};
virtual inline void SetMargins(int width) {margins = width;};
virtual inline sf::Color GetBorderColor() const {return borderColor;};
virtual inline void SetBorderColor(sf::Color newColor) {borderColor = newColor;};
virtual inline int GetBackgroundStyle() const {return backgroundStyle;};
virtual inline void SetBackgroundStyle(int newStyle) {backgroundStyle = newStyle;};
virtual inline std::string GetColumnsTitlesExpression() const {return columnsTitlesExpression;};
virtual inline void SetColumnsTitlesExpression(std::string newExpr) {columnsTitlesExpression = newExpr;};
virtual inline std::string GetRowsTitlesExpression() const {return rowsTitlesExpression;};
virtual inline void SetRowsTitlesExpression(std::string newExpr) {rowsTitlesExpression = newExpr;};
virtual inline bool HasRowsTitles() const {return hasRowsTitles;};
virtual inline void SetHasRowsTitles(bool has) {hasRowsTitles = has;};
virtual inline bool HasColumnsTitles() const {return hasColumnsTitles;};
virtual inline void SetHasColumnsTitles(bool has) {hasColumnsTitles = has;};
virtual inline int GetRowsOffset() const {return rowsOffset;};
virtual inline void SetRowsOffset(int newOffset) {rowsOffset = newOffset;};
virtual inline int GetColumnsOffset() const {return columnsOffset;};
virtual inline void SetColumnsOffset(int newOffset) {columnsOffset = newOffset;};
virtual int GetColumnHoveredByMouse(RuntimeScene &scene);
virtual int GetRowHoveredByMouse(RuntimeScene &scene);
float GetXOfColumn(int n);
float GetYOfRow(int n);
std::string frontTextureName;
std::string topTextureName;
std::string bottomTextureName;
std::string leftTextureName;
std::string rightTextureName;
std::string backTextureName;
//Conditions
//bool CondArrayToShowName( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondRowCount( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondColumnCount( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//Les deux conditions de collision avec un objet sont dans ArrayConditions.cpp
//bool CondRowMouse( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondColumnMouse( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondColumnTitle( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondRowTitle( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondColumnOffset( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
//bool CondRowOffset( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
/*bool CondYaw( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
bool CondPitch( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
bool CondRoll( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & condition );
*/
//Actions
//bool ActChangeArrayToShowName( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
//bool ActChangeRowCount( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
//bool ActChangeColumnCount( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
//bool ActChangeColumnTitle( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
//bool ActChangeRowTitle( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
//bool ActChangeColumnOffset( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
//bool ActChangeRowOffset( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
/*bool ActDepth( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
bool ActZPosition( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
bool ActYaw( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
bool ActPitch( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );
bool ActRoll( RuntimeScene & scene, ObjectsConcerned & objectsConcerned, const Instruction & action );*/
//Expressions
//std::string ExpGetArrayToShowName( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const StrExpressionInstruction & exprInstruction );
//double ExpGetRowMouse( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//double ExpGetColumnMouse( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//double ExpGetRowCount( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//double ExpGetColumnCount( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//double ExpGetRowObject( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//double ExpGetColumnObject( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//std::string ExpGetColumnTitle( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const StrExpressionInstruction & exprInstruction );
//std::string ExpGetRowTitle( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const StrExpressionInstruction & exprInstruction );
//double ExpGetColumnOffset( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
//double ExpGetRowOffset( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
/*double ExpGetPitch( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );
double ExpGetRoll( const RuntimeScene & scene, ObjectsConcerned & objectsConcerned, ObjSPtr obj1, ObjSPtr obj2, const ExpressionInstruction & exprInstruction );