vdistributecmd.h
1/* This file is part of the KDE project
2 Copyright (C) 2005, The Karbon Developers
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef __VDISTRIBUTECMD_H__
21#define __VDISTRIBUTECMD_H__
22
23#include "vcommand.h"
24
25class VTranslateCmd;
26
30{
31public:
32 enum Distribute
33 {
34 DISTRIBUTE_HORIZONTAL_CENTER,
35 DISTRIBUTE_HORIZONTAL_GAP,
36 DISTRIBUTE_HORIZONTAL_LEFT,
37 DISTRIBUTE_HORIZONTAL_RIGHT,
38 DISTRIBUTE_VERTICAL_CENTER,
39 DISTRIBUTE_VERTICAL_GAP,
40 DISTRIBUTE_VERTICAL_BOTTOM,
41 DISTRIBUTE_VERTICAL_TOP
42 };
43 VDistributeCmd( VDocument *doc, Distribute distribute );
44 virtual ~VDistributeCmd();
45
46 virtual void execute();
47 virtual void unexecute();
48 virtual bool changesSelection() const { return true; }
49
50protected:
51 double getAvailableSpace( VObject *first, VObject *last, double extent );
52
53 Distribute m_distribute;
54 TQPtrList<VTranslateCmd> m_trafoCmds;
55};
56
57#endif
58
The base class for all karbon commands.
Definition vcommand.h:42
A command for distributing objects.
virtual bool changesSelection() const
Returns if the command changes the actual document selection.
virtual void unexecute()
Unexecutes the command.
virtual void execute()
Executes the command.
All non-visual, static doc info is in here.
Definition vdocument.h:53
The base class for all karbon objects.
Definition vobject.h:50