summaryrefslogtreecommitdiff
path: root/src/pmview/stackobj.h
blob: 76fed4a50c2117787d7e3d6d66e002fed55fc864 (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * Copyright (c) 1995 Silicon Graphics, Inc.  All Rights Reserved.
 * Copyright (c) 2009 Aconex.  All Rights Reserved.
 * 
 * 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.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 */
#ifndef _STACKOBJ_H_
#define _STACKOBJ_H_

#include "modobj.h"
#include "stackmod.h"

class SoSeparator;

class StackObj : public ModObj
{
protected:

    int				_width;
    int				_depth;
    StackMod::Height		_height;
    ViewObj::Shape		_shape;
    StackMod			*_stack;
    QString			_text;

public:

    virtual ~StackObj();

    StackObj(StackMod::Height height,
	     ViewObj::Shape shape,
	     bool baseFlag,
	     const DefaultObj &defaults,
	     int x, int z,
	     int cols = 1, int rows = 1, 
	     BaseObj::Alignment align = BaseObj::center);

    virtual int width() const
	{ return _width; }
    virtual int depth() const
	{ return _depth; }
    StackMod::Height height() const
	{ return _height; }

    void setFillText(const char *str)
	{ _text = str; }

    virtual void finishedAdd();

    virtual void setTran(float xTran, float zTran, int width, int depth);

    virtual const char* name() const
    	{ return "Stack"; }

    virtual void display(QTextStream& os) const;

    friend QTextStream& operator<<(QTextStream& os, StackObj const& rhs);

    virtual void setBarHeight (int h) { _maxHeight = h; }

private:

    StackObj();
    StackObj(StackObj const&);
    StackObj const& operator=(StackObj const &);
};

#endif /* _STACKOBJ_H_ */