summaryrefslogtreecommitdiffstats
path: root/src/komposetaskcontainerwidget.h
blob: 816d487a519021a4ff3caebb0404d59604eae77a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//
// C++ Interface: komposetaskcontainerwidget
//
// Description:
//
//
// Author: Hans Oischinger <hans.oischinger@kde-mail.net>, (C) 2004
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef KOMPOSETASKCONTAINERWIDGET_H
#define KOMPOSETASKCONTAINERWIDGET_H

#include "komposewidget.h"
#include "komposetask.h"
#include "komposelayout.h"

/**
 * This abstract class contains some functions only usable for
 * Widgets that display task widgets
 * (so I won't have to double the code for the createTaskWidgets() funxtion :) )
 *
 * @author Hans Oischinger
 */
class KomposeTaskContainerWidget : public KomposeWidget
{
  Q_OBJECT
public:
  KomposeTaskContainerWidget( int desk = 0, QWidget *parent = 0, KomposeLayout *l = 0, const char *name = 0);

  virtual ~KomposeTaskContainerWidget();

  virtual int getHeightForWidth( int w ) const;
  virtual int getWidthForHeight( int h ) const;
  virtual double getAspectRatio();

  void setDesktop( int desk ) { desktop = desk; }
  int getDesktop() { return desktop; }

public slots:
  void requestRemoval( KomposeWidget *obj );

protected slots:
  void createTaskWidgets();
  void createTaskWidget( KomposeTask* task, bool manualShow=true );
  void reparentTaskWidget( KomposeTask* task, int fromDesktop, int toDesktop );
  bool focusNeighbourChild( int direction );

protected:
  void keyReleaseEvent ( QKeyEvent * e );
  void keyPressEvent ( QKeyEvent * e );
  void childEvent( QChildEvent * ce);

  int desktop;
};

#endif