Subversion Repositories Scribus

Rev

Rev 16282 | Rev 17030 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
For general Scribus (>=1.3.2) copyright and licensing information please refer
to the COPYING file provided with the program. Following this notice may exist
a copyright and/or license notice that predates the release of Scribus 1.3.2
for which a new license (GPL+exception) is in place.
*/

#ifndef PROPERTYWIDGET_SHAPE_H
#define PROPERTYWIDGET_SHAPE_H

#include "ui_propertywidget_shapebase.h"

#include "scribusapi.h"
#include "pageitem.h"
#include "propertywidgetbase.h"

class ScribusDoc;
class ScribusMainWindow;
class Selection;

class SCRIBUS_API PropertyWidget_Shape : public QGroupBox, protected Ui::PropertyWidget_ShapeBase,
                                             public PropertyWidgetBase
{
        Q_OBJECT

public:
        PropertyWidget_Shape(QWidget* parent);
        ~PropertyWidget_Shape() {};

        virtual void changeEvent(QEvent *e);

        void setCustomShapeIcon(int submode);
        void setLocked(bool isLocked);
        void setRoundRectEnabled(bool enabled);
        void displayTextFlowMode(PageItem::TextFlowMode mode);

protected:
        void connectSignals();
        void disconnectSignals();

        double    m_unitRatio;
        int       m_unitIndex;
        PageItem *m_item;

        Selection* m_tmpSelection;

protected:
        ScribusMainWindow *m_ScMW;

        void enableCustomShape();
        void enableFromSelection(void);
        void setCurrentItem(PageItem *i);

public slots:

        void setMainWindow(ScribusMainWindow *mw);
        void setDoc(ScribusDoc *d);

        void handleSelectionChanged();
        void handleUpdateRequest(int);

        void languageChange();
        void unitChange();

private slots:

        void handleTextFlow();
        void handleShapeEdit();
        void handleShapeEditEnded();
        void handleCornerRadius();
        void handleFillRule();
        void handleNewShape(int, int, qreal *);

signals:
        void DocChanged();
};

#endif