/* sidebar.h This file is part of the Project::OSiRiON world editor and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_EDITOR_SIDEBAR__ #define __INCLUDED_EDITOR_SIDEBAR__ #include "entityproperties.h" #include class QLabel; class QLineEdit; class QTextEdit; class QComboBox; namespace editor { class EntityWidget; /** * @brief Sidebar is the EditorWindow sidebar * The sidebar show the properties of the currently * selected map entity * */ class SideBar : public QWidget { Q_OBJECT public: SideBar(QWidget *parent = 0); public slots: /** * @brief set the sidebar properties * */ void setProperties(EntityProperties *properties); /** * @brief set the zone name * */ void setZoneName(const QString &name); private slots: void updateEntityLabel(const QString &value); void updateEntityName(const QString &value); void updateEntityLocationX(const QString &value); void updateEntityLocationY(const QString &value); void updateEntityLocationZ(const QString &value); void updateEntityAnglesYaw(const QString &value); void updateEntityAnglesPitch(const QString &value); void updateEntityAnglesRoll(const QString &value); void updateEntityRadius(const QString &value); void updateEntityTemplateType(int template_type); void updateEntityTemplateLabel(const QString &template_label); void updateEntityValues(); void updateEntitySubSections(); void updateEntityInfo(); signals: void entityChanged(); private: QLabel *label_zone; QComboBox *combo_entitytype; QLineEdit *edit_entitylabel; QLineEdit *edit_entityname; QLineEdit *edit_entitylocation_x; QLineEdit *edit_entitylocation_y; QLineEdit *edit_entitylocation_z; QLineEdit *edit_entityangles_yaw; QLineEdit *edit_entityangles_pitch; QLineEdit *edit_entityangles_roll; QComboBox *combo_entitytemplate_type; QLineEdit *edit_entitytemplate; QLineEdit *edit_entityradius; QTextEdit *text_entityvalues; QTextEdit *text_subsections; QTextEdit *text_info; EntityProperties *last_selected; }; } #endif // __INCLUDED_EDITOR_SIDEBAR__