summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/widget_layer.h
authoribotty <ibotty>2002-10-07 13:23:14 (UTC)
committer ibotty <ibotty>2002-10-07 13:23:14 (UTC)
commit68d98791b05217163f97d7c233952df8075416bb (patch) (side-by-side diff)
treeda2ad4d16d62053ca5b836cd08d37364ec12b635 /noncore/apps/opie-console/widget_layer.h
parenta513a88322196c8caa21b00b83d454feae84200c (diff)
downloadopie-68d98791b05217163f97d7c233952df8075416bb.zip
opie-68d98791b05217163f97d7c233952df8075416bb.tar.gz
opie-68d98791b05217163f97d7c233952df8075416bb.tar.bz2
changed WidgetLayer to a new (well partial) image storage
WidgetLayer is now to be considered stable. there wont be any api removals. newwidget.{h,cpp} will inherit WidgetLayer, soon. i will try to be logic compatible with current widget.{h,cpp}, but will NOT guarantee api compatibility.
Diffstat (limited to 'noncore/apps/opie-console/widget_layer.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/widget_layer.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/widget_layer.h b/noncore/apps/opie-console/widget_layer.h
index 07ec12a..99d248e 100644
--- a/noncore/apps/opie-console/widget_layer.h
+++ b/noncore/apps/opie-console/widget_layer.h
@@ -12,41 +12,52 @@
#ifndef WIDGET_LAYER_H
#define WIDGET_LAYER_H
// qt includes
#include <qapplication.h>
+#include <qframe.h>
+#include <qarray.h>
#include <qtimer.h>
#include <qkeycode.h>
#include <qclipboard.h>
// opie-console includes
#include "session.h"
#include "common.h"
-class WidgetLayer : public QObject
+/*
+ * given a pseudo location ( column, line ),
+ * returns the actual index, in the QArray<Character>
+ */
+#define loc(X,Y) ((Y)*m_columns+(X))
+
+
+
+
+class WidgetLayer : public QFrame
{ Q_OBJECT
public:
/**
* constructor
*/
- WidgetLayer( QObject *parent=0, const char *name=0 );
+ WidgetLayer( QWidget *parent=0, const char *name=0 );
/**
* destructor
*/
virtual ~WidgetLayer();
public:
/**
* sets the image
*/
- virtual void setImage( const Character* const newimg, int lines, int colums ) = 0;
+ virtual void setImage( QArray<Character> const newimg, int lines, int colums );
/**
* annoy the user
*/
void bell();
@@ -138,13 +149,13 @@ protected:
* changes image, to suit new size
* TODO: find meaningful name!
*/
void propagateSize();
/**
- *
+ *determines count of lines and columns
*/
virtual void calcGeometry() = 0;
/**
* makes an empty image
*/
@@ -170,12 +181,18 @@ protected:
* current Session
*/
Session *m_session;
/**
* current character image
+ *
+ * a Character at loc( column, line )
+ * has the actual index:
+ * ix = line * m_columns + column;
+ *
+ * use loc( x, y ) macro to access.
*/
QArray<Character> m_image;
/**
* lines count
*/
@@ -189,12 +206,12 @@ protected:
/**
* clipboard
*/
QClipboard* m_clipboard;
/**
- * whether widget was resized
+ * whether widget is resizing
*/
bool m_resizing;
};
#endif // WIDGET_LAYER_H