Source Code (Use browser search to find items of interest.)
Class Index
kiconedit'KGridView (./kdegraphics/kiconedit/kicongrid.h:60)
class KGridView : public QFrame
{
Q_OBJECT
public:
KGridView( QImage *image, QWidget * parent = 0, const char *name = 0);
KRuler *hruler() { return _hruler;}
KRuler *vruler() { return _vruler;}
QFrame *corner() { return _corner;}
KIconEditGrid *grid() { return _grid; }
void setShowRulers(bool mode);
bool rulers() { return pprops->showrulers; }
void setAcceptDrop(bool a);
const QRect viewRect();
public slots:
void sizeChange(int, int);
void moving(int, int);
void scalingChange(int, bool);
void paintGrid();
protected:
virtual void paintEvent(QPaintEvent*);
virtual void resizeEvent(QResizeEvent*);
void paintDropSite();
void setSizes();
QFrame *_corner;
KIconEditGrid *_grid;
KRuler *_hruler, *_vruler;
Properties *pprops;
QScrollView *viewport;
bool acceptdrop;
};
/**
* KIconEditGrid
* @short KIconEditGrid
* @author Thomas Tanghus <tanghus@kde.org>
* @version 0.3
*/
kiconedit'KGridView::KGridView() (./kdegraphics/kiconedit/kicongrid.cpp:35)
KGridView::KGridView(QImage *image, QWidget *parent, const char *name) : QFrame(parent, name)
{
pprops = 0L;
_corner = 0L;
_hruler = _vruler = 0L;
_grid = 0L;
acceptdrop = false;
pprops = props(this);
viewport = new QScrollView(this);
CHECK_PTR(viewport);
_grid = new KIconEditGrid(image, viewport->viewport());
CHECK_PTR(_grid);
viewport->addChild(_grid);
if(pprops->backgroundmode == FixedPixmap)
{
QPixmap pix(pprops->backgroundpixmap.data());
if(pix.isNull())
{
QPixmap pmlogo((const char**)logo);
pix = pmlogo;
}
viewport->viewport()->setBackgroundPixmap(pix);
_grid->setBackgroundPixmap(pix);
}
else
{
viewport->viewport()->setBackgroundColor(pprops->backgroundcolor);
}
_corner = new QFrame(this);
_corner->setFrameStyle(QFrame::WinPanel | QFrame::Raised);
_hruler = new KRuler(KRuler::horizontal, this);
_hruler->setEndLabel(i18n("width"));
_hruler->setOffset( 0 );
_hruler->setRange(0, 1000);
_vruler = new KRuler(KRuler::vertical, this);
_vruler->setEndLabel(i18n("height"));
_vruler->setOffset( 0 );
_vruler->setRange(0, 1000);
connect(_grid, SIGNAL(scalingchanged(int, bool)), SLOT(scalingChange(int, bool)));
connect(_grid, SIGNAL(sizechanged(int, int)), SLOT(sizeChange(int, int)));
connect(_grid, SIGNAL(needPainting()), SLOT(paintGrid()));
connect( _grid, SIGNAL(xposchanged(int)), _hruler, SLOT(slotNewValue(int)) );
connect( _grid, SIGNAL(yposchanged(int)), _vruler, SLOT(slotNewValue(int)) );
connect(viewport, SIGNAL(contentsMoving(int, int)), SLOT(moving(int, int)));
setSizes();
QResizeEvent e(size(), size());
resizeEvent(&e);
}
kiconedit'KGridView::paintGrid() (./kdegraphics/kiconedit/kicongrid.cpp:94)
void KGridView::paintGrid()
{
_grid->repaint(viewRect(), false);
}
kiconedit'KGridView::setSizes() (./kdegraphics/kiconedit/kicongrid.cpp:99)
void KGridView::setSizes()
{
if(pprops->showrulers)
{
_hruler->setLittleMarkDistance(_grid->scaling());
_vruler->setLittleMarkDistance(_grid->scaling());
_hruler->setMediumMarkDistance(5);
_vruler->setMediumMarkDistance(5);
_hruler->setBigMarkDistance(10);
_vruler->setBigMarkDistance(10);
_hruler->showTinyMarks(true);
_hruler->showLittleMarks(false);
_hruler->showMediumMarks(true);
_hruler->showBigMarks(true);
_hruler->showEndMarks(true);
_vruler->showTinyMarks(true);
_vruler->showLittleMarks(false);
_vruler->showMediumMarks(true);
_vruler->showBigMarks(true);
_vruler->showEndMarks(true);
_hruler->setValuePerLittleMark(_grid->scaling());
_vruler->setValuePerLittleMark(_grid->scaling());
_hruler->setValuePerMediumMark(_grid->scaling()*5);
_vruler->setValuePerMediumMark(_grid->scaling()*5);
_hruler->setPixelPerMark(_grid->scaling());
_vruler->setPixelPerMark(_grid->scaling());
_hruler->setMaxValue(_grid->width());
_vruler->setMaxValue(_grid->height());
_hruler->show();
_vruler->show();
_corner->show();
//resize(_grid->width()+_vruler->width(), _grid->height()+_hruler->height());
}
else
{
_hruler->hide();
_vruler->hide();
_corner->hide();
//resize(_grid->size());
}
}
kiconedit'KGridView::sizeChange() (./kdegraphics/kiconedit/kicongrid.cpp:150)
void KGridView::sizeChange(int, int)
{
setSizes();
}
kiconedit'KGridView::moving() (./kdegraphics/kiconedit/kicongrid.cpp:155)
void KGridView::moving(int x, int y)
{
//debug("Moving: %i x %i", x, y);
_hruler->setOffset(abs(x));
_vruler->setOffset(abs(y));
}
kiconedit'KGridView::scalingChange() (./kdegraphics/kiconedit/kicongrid.cpp:162)
void KGridView::scalingChange(int, bool)
{
setSizes();
}
kiconedit'KGridView::setShowRulers() (./kdegraphics/kiconedit/kicongrid.cpp:167)
void KGridView::setShowRulers(bool mode)
{
pprops->showrulers = mode;
setSizes();
QResizeEvent e(size(), size());
resizeEvent(&e);
}
kiconedit'KGridView::setAcceptDrop() (./kdegraphics/kiconedit/kicongrid.cpp:175)
void KGridView::setAcceptDrop(bool a)
{
if(a == acceptdrop)
return;
acceptdrop = a;
paintDropSite();
}
kiconedit'KGridView::viewRect() (./kdegraphics/kiconedit/kicongrid.cpp:183)
const QRect KGridView::viewRect()
{
int x, y, cx, cy;
if(viewport->horizontalScrollBar()->isVisible())
{
x = viewport->contentsX();
cx = viewport->viewport()->width();
}
else
{
x = 0;
cx = viewport->contentsWidth();
}
if(viewport->verticalScrollBar()->isVisible())
{
y = viewport->contentsY();
cy = viewport->viewport()->height();
}
else
{
y = 0;
cy = viewport->contentsHeight();
}
return QRect(x, y, cx, cy);
}
kiconedit'KGridView::paintDropSite() (./kdegraphics/kiconedit/kicongrid.cpp:211)
void KGridView::paintDropSite()
{
QPainter p;
p.begin( _grid );
p.setRasterOp (NotROP);
p.drawRect(viewRect());
p.end();
}
kiconedit'KGridView::paintEvent() (./kdegraphics/kiconedit/kicongrid.cpp:220)
void KGridView::paintEvent(QPaintEvent *)
{
//if(acceptdrop)
//paintDropSite();
}
kiconedit'KGridView::resizeEvent() (./kdegraphics/kiconedit/kicongrid.cpp:227)
void KGridView::resizeEvent(QResizeEvent*)
{
debug("KGridView::resizeEvent");
setSizes();
if(pprops->showrulers)
{
_hruler->setGeometry(_vruler->width(), 0, width(), _hruler->height());
_vruler->setGeometry(0, _hruler->height(), _vruler->width(), height());
_corner->setGeometry(0, 0, _vruler->width(), _hruler->height());
viewport->setGeometry(_corner->width(), _corner->height(),
width()-_corner->width(), height()-_corner->height());
}
else
viewport->setGeometry(0, 0, width(), height());
}