Laxkit
0.0.7.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
lax
interfaces
viewportwithstack.h
1
//
2
//
3
// The Laxkit, a windowing toolkit
4
// Please consult http://laxkit.sourceforge.net about where to send any
5
// correspondence about this software.
6
//
7
// This library is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU Library General Public
9
// License as published by the Free Software Foundation; either
10
// version 2 of the License, or (at your option) any later version.
11
//
12
// This library is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// Library General Public License for more details.
16
//
17
// You should have received a copy of the GNU Library General Public
18
// License along with this library; if not, write to the Free Software
19
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
//
21
// Copyright (C) 2004-2011 by Tom Lechner
22
//
23
#ifndef _LAX_VIEWPORTWITHSTACK_H
24
#define _LAX_VIEWPORTWITHSTACK_H
25
26
#include <lax/interfaces/viewportwindow.h>
27
28
namespace
LaxInterfaces {
29
30
31
32
//---------------------------- ViewportWithStack ----------------------
33
class
ViewportWithStack
:
public
ViewportWindow
34
{
35
protected
:
36
int
vpwsfirsttime;
37
ObjectContext
*foundobj,*foundtypeobj,*firstobj;
//obj just before firstobj should be the last one searched.
38
ObjectContext
*curobj;
39
virtual
void
ClearSearch();
40
public
:
41
Laxkit::RefPtrStack<SomeData>
datastack;
42
ViewportWithStack
(
anXWindow
*parnt,
const
char
*nname,
const
char
*ntitle,
unsigned
long
nstyle,
43
int
xx,
int
yy,
int
ww,
int
hh,
int
brder,
Laxkit::Displayer
*ndp=NULL);
44
virtual
~
ViewportWithStack
();
45
virtual
void
Refresh
();
46
virtual
int
Event
(
const
Laxkit::EventData
*e,
const
char
*mes);
47
48
virtual
int
NewData
(
SomeData
*d,
ObjectContext
**oc_ret);
49
virtual
int
DropObject
(
SomeData
*d,
double
x,
double
y);
50
virtual
int
DeleteObject
();
51
52
virtual
int
FindObject
(
int
x,
int
y,
const
char
*dtype,
53
SomeData
*exclude,
int
start,
54
ObjectContext
**oc);
55
virtual
int
ChangeObject
(
ObjectContext
*oc,
int
switchtool);
56
virtual
int
ChangeContext
(
int
x,
int
y,
ObjectContext
**oc);
57
virtual
int
SelectObject
(
int
i);
58
virtual
double
*transformToContext(
double
*m,
ObjectContext
*oc,
int
invert
,
int
full);
59
};
60
61
}
// namespace laxkit
62
63
#endif
64
Mon Feb 17 2014 11:52:57, Laxkit