1//------------------------------------------------------------------------------
2//	Copyright (c) 2001-2002, Haiku
3//
4//	Permission is hereby granted, free of charge, to any person obtaining a
5//	copy of this software and associated documentation files (the "Software"),
6//	to deal in the Software without restriction, including without limitation
7//	the rights to use, copy, modify, merge, publish, distribute, sublicense,
8//	and/or sell copies of the Software, and to permit persons to whom the
9//	Software is furnished to do so, subject to the following conditions:
10//
11//	The above copyright notice and this permission notice shall be included in
12//	all copies or substantial portions of the Software.
13//
14//	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15//	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16//	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17//	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18//	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19//	FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20//	DEALINGS IN THE SOFTWARE.
21//
22//	File Name:		CursorWhichItem.cpp
23//	Author:			DarkWyrm <bpmagic@columbus.rr.com>
24//	Description:	ListItem class for managing cursor_which specifiers
25//
26//------------------------------------------------------------------------------
27#include "CursorWhichItem.h"
28#include <stdio.h>
29
30CursorWhichItem::CursorWhichItem(cursor_which which)
31 : BStringItem(NULL,0,false)
32{
33	SetAttribute(which);
34	image=NULL;
35}
36
37CursorWhichItem::~CursorWhichItem(void)
38{
39	// Empty, but exists for just-in-case
40	if(image)
41		delete image;
42}
43
44void CursorWhichItem::SetAttribute(cursor_which which)
45{
46	switch(which)
47	{
48		// cases not existing in R5 which exist in Haiku
49		case B_CURSOR_DEFAULT:
50		{
51			attribute=which;
52			SetText("Default");
53			break;
54		}
55		case B_CURSOR_TEXT:
56		{
57			attribute=which;
58			SetText("Text");
59			break;
60		}
61		case B_CURSOR_MOVE:
62		{
63			attribute=which;
64			SetText("Move");
65			break;
66		}
67		case B_CURSOR_DRAG:
68		{
69			attribute=which;
70			SetText("Drag");
71			break;
72		}
73		case B_CURSOR_RESIZE:
74		{
75			attribute=which;
76			SetText("Resize");
77			break;
78		}
79		case B_CURSOR_RESIZE_NWSE:
80		{
81			attribute=which;
82			SetText("Diagonal Resize NW-SE");
83			break;
84		}
85		case B_CURSOR_RESIZE_NESW:
86		{
87			attribute=which;
88			SetText("Diagonal Resize NE-SW");
89			break;
90		}
91		case B_CURSOR_RESIZE_NS:
92		{
93			attribute=which;
94			SetText("Vertical Resize");
95			break;
96		}
97		case B_CURSOR_RESIZE_EW:
98		{
99			attribute=which;
100			SetText("Horizontal Resize");
101			break;
102		}
103		case B_CURSOR_OTHER:
104		{
105			attribute=which;
106			SetText("Other");
107			break;
108		}
109		case B_CURSOR_INVALID:
110		{
111			break;
112		}
113		default:
114		{
115			printf("unknown code '%c%c%c%c'\n",(char)((which & 0xFF000000) >>  24),
116				(char)((which & 0x00FF0000) >>  16),
117				(char)((which & 0x0000FF00) >>  8),
118				(char)((which & 0x000000FF)) );
119			break;
120		}
121	}
122}
123
124cursor_which CursorWhichItem::GetAttribute(void)
125{
126	return attribute;
127}
128
129