новые иконки в OpenBoard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenBoard/src/domain/UBGraphicsTextItemDelegate.h

105 lines
2.7 KiB

/*
12 years ago
* Copyright (C) 2013 Open Education Foundation
*
12 years ago
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour
* l'Education Numérique en Afrique (GIP ENA)
*
12 years ago
* This file is part of OpenBoard.
*
* OpenBoard is free software: you can redistribute it and/or modify
12 years ago
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3 of the License,
* with a specific linking exception for the OpenSSL project's
* "OpenSSL" library (or with modified versions of it that use the
* same license as the "OpenSSL" library).
*
12 years ago
* OpenBoard is distributed in the hope that it will be useful,
14 years ago
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12 years ago
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 years ago
* GNU General Public License for more details.
14 years ago
*
12 years ago
* You should have received a copy of the GNU General Public License
12 years ago
* along with OpenBoard. If not, see <http://www.gnu.org/licenses/>.
*/
12 years ago
12 years ago
#ifndef UBGRAPHICSTEXTITEMDELEGATE_H_
#define UBGRAPHICSTEXTITEMDELEGATE_H_
#include <QtGui>
#include <QtSvg>
#include "core/UB.h"
#include "UBGraphicsItemDelegate.h"
class UBGraphicsTextItem;
class UBGraphicsTextItemDelegate : public UBGraphicsItemDelegate
{
Q_OBJECT
enum textChangeMode
{
changeSize = 0,
scaleSize
};
public:
UBGraphicsTextItemDelegate(UBGraphicsTextItem* pDelegated, QObject * parent = 0);
virtual ~UBGraphicsTextItemDelegate();
bool isEditable();
void scaleTextSize(qreal multiplyer);
virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
public slots:
void contentsChanged();
virtual void setEditable(bool);
13 years ago
virtual void remove(bool canUndo);
protected:
virtual void buildButtons();
virtual void decorateMenu(QMenu *menu);
virtual void updateMenuActionState();
virtual void positionHandles();
private:
UBGraphicsTextItem* delegated();
DelegateButton* mFontButton;
DelegateButton* mColorButton;
DelegateButton* mDecreaseSizeButton;
DelegateButton* mIncreaseSizeButton;
int mLastFontPixelSize;
static const int sMinPixelSize;
static const int sMinPointSize;
private:
void customize(QFontDialog &fontDialog);
void ChangeTextSize(qreal factor, textChangeMode changeMode);
QFont createDefaultFont();
QAction *mEditableAction;
private slots:
void pickFont();
void pickColor();
void decreaseSize();
void increaseSize();
private:
const int delta;
};
#endif /* UBGRAPHICSTEXTITEMDELEGATE_H_ */