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.
tdeaccessibility/kmag/kmagselrect.h

150 lines
3.7 KiB

/***************************************************************************
kmagselrect.h - description
-------------------
begin : Mon Feb 12 23:45:41 EST 2001
copyright : (C) 2001-2003 by Sarang Lakare
email : sarang#users.sf.net
copyright : (C) 2003-2004 by Olaf Schmidt
email : ojschmidt@kde.org
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef KMAGSELRECT_H
#define KMAGSELRECT_H
#include <stdlib.h>
// TQt includes
#include <tqrect.h>
#include <tqwidget.h>
#include <tqlabel.h>
class KMagSelWinCorner : public TQLabel
{
Q_OBJECT
public:
KMagSelWinCorner ( TQWidget * parent = 0, const char * name = 0, WFlags f = 0 );
virtual ~KMagSelWinCorner();
signals:
void startResizing ();
void resized ( TQPoint offset );
protected:
TQPoint oldPos;
virtual void mousePressEvent ( TQMouseEvent * e );
virtual void mouseReleaseEvent ( TQMouseEvent * e );
virtual void mouseMoveEvent ( TQMouseEvent * e );
};
class KMagSelWin : public TQWidget
{
Q_OBJECT
public:
KMagSelWin ( TQWidget * parent = 0, const char * name = 0, WFlags f = 0 );
virtual ~KMagSelWin();
void setSelRect ( TQRect selRect );
TQRect getSelRect ();
public slots:
void startResizing ();
void titleMoved ( TQPoint offset );
void topLeftResized ( TQPoint offset );
void topRightResized ( TQPoint offset );
void bottomLeftResized ( TQPoint offset );
void bottomRightResized ( TQPoint offset );
signals:
void resized();
protected:
TQRect oldSelRect;
KMagSelWinCorner *titleBar;
KMagSelWinCorner *topLeftCorner;
KMagSelWinCorner *topRightCorner;
KMagSelWinCorner *bottomLeftCorner;
KMagSelWinCorner *bottomRightCorner;
};
/**
* This class stores the selected rectangular area for grabbing. It also displays the
* rectangular area on demand.
*
* @author Original : Michael Forster
* @author Current : Sarang Lakare
*/
class KMagSelRect : public TQObject, public TQRect
{
Q_OBJECT
public:
KMagSelRect(TQWidget *parent=0);
KMagSelRect(const TQPoint &topLeft, const TQPoint &bottomRight,
TQWidget *parent=0);
KMagSelRect(const TQPoint &topLeft, const TQSize &size,
TQWidget *parent=0);
KMagSelRect(int left, int top, int width, int height,
TQWidget *selWindowParent=0);
virtual ~KMagSelRect();
WId winId();
bool visible();
/// Makes the rectangle always visible
void alwaysVisible(bool visible=true);
/// Returns true if always visible is set
bool getAlwaysVisible() const {
return (m_alwaysVisible);
};
public slots:
void show();
void hide();
void update();
void selWinResized();
protected:
void init(TQWidget *);
TQWidget *selWindowParent;
KMagSelWin *selectionwindow;
bool m_alwaysVisible;
};
void setTitleColors (TQColor title, TQColor text, TQColor titleBtn);
void setFrameSize (int size);
#endif // KMAGSELRECT_H