Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F633595
list.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None
list.h
View Options
#ifndef _gui_list_h
#define _gui_list_h
#include
"widget.h"
#include
"r-tech1/pointer.h"
#include
"r-tech1/font.h"
namespace
Gui
{
class
ListItem
{
public
:
ListItem
();
virtual
~
ListItem
();
virtual
bool
operator
==
(
const
ListItem
&
)
=
0
;
virtual
bool
equals
(
Util
::
ReferenceCount
<
ListItem
>
)
=
0
;
virtual
int
compareTo
(
Util
::
ReferenceCount
<
ListItem
>
)
=
0
;
virtual
void
act
()
=
0
;
virtual
void
draw
(
const
Font
&
,
const
Graphics
::
Bitmap
&
)
=
0
;
};
class
ListInterface
:
public
Gui
::
Widget
{
public
:
ListInterface
();
virtual
~
ListInterface
();
virtual
void
act
(
const
Font
&
)
=
0
;
virtual
void
draw
(
const
Font
&
,
const
Graphics
::
Bitmap
&
)
=
0
;
virtual
void
add
(
const
Util
::
ReferenceCount
<
ListItem
>
)
=
0
;
virtual
void
add
(
const
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
&
)
=
0
;
virtual
void
remove
(
const
Util
::
ReferenceCount
<
ListItem
>
)
=
0
;
virtual
void
replace
(
const
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
&
)
=
0
;
virtual
void
clear
()
=
0
;
virtual
const
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
&
getList
()
const
=
0
;
private
:
void
render
(
const
Graphics
::
Bitmap
&
);
void
render
(
const
Graphics
::
Bitmap
&
,
const
Font
&
);
};
class
SimpleList
:
public
ListInterface
{
public
:
SimpleList
();
virtual
~
SimpleList
();
void
act
(
const
Font
&
);
void
draw
(
const
Font
&
,
const
Graphics
::
Bitmap
&
);
void
add
(
const
Util
::
ReferenceCount
<
ListItem
>
);
void
add
(
const
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
&
);
void
remove
(
const
Util
::
ReferenceCount
<
ListItem
>
);
void
replace
(
const
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
&
);
void
clear
();
const
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
&
getList
()
const
;
protected
:
std
::
vector
<
Util
::
ReferenceCount
<
ListItem
>
>
list
;
};
}
#endif
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Nov 15, 5:16 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
130869
Default Alt Text
list.h (1 KB)
Attached To
Mode
R75 R-Tech1
Attached
Detach File
Event Timeline