Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
3dae4454
Commit
3dae4454
authored
May 13, 2003
by
Eric Petit
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modules/gui/beos/PreferencesWindow.*:
- use BMenuFields for string_from_list config items - cleaning
parent
7ba77f51
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
175 additions
and
128 deletions
+175
-128
modules/gui/beos/PreferencesWindow.cpp
modules/gui/beos/PreferencesWindow.cpp
+129
-115
modules/gui/beos/PreferencesWindow.h
modules/gui/beos/PreferencesWindow.h
+46
-13
No files found.
modules/gui/beos/PreferencesWindow.cpp
View file @
3dae4454
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* PreferencesWindow.cpp: beos interface
* PreferencesWindow.cpp: beos interface
*****************************************************************************
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: PreferencesWindow.cpp,v 1.2
0 2003/05/13 11:18:25
titer Exp $
* $Id: PreferencesWindow.cpp,v 1.2
1 2003/05/13 14:11:33
titer Exp $
*
*
* Authors: Eric Petit <titer@videolan.org>
* Authors: Eric Petit <titer@videolan.org>
*
*
...
@@ -23,14 +23,17 @@
...
@@ -23,14 +23,17 @@
#include <stdlib.h>
/* atoi(), strtod() */
#include <stdlib.h>
/* atoi(), strtod() */
#include <InterfaceKit.h>
#include <SupportKit.h>
#include <vlc/vlc.h>
#include <vlc/vlc.h>
#include <vlc/intf.h>
#include <vlc/intf.h>
#include "PreferencesWindow.h"
#include "PreferencesWindow.h"
/* TODO:
- handle CONFIG_HINT_SUBCATEGORY
- use BSliders for integer_with_range and float_with_range
- add the needed LockLooper()s
- fix horizontal window resizing */
/* We use this function to order the items of the BOutlineView */
/* We use this function to order the items of the BOutlineView */
int
compare_func
(
const
BListItem
*
_first
,
const
BListItem
*
_second
)
int
compare_func
(
const
BListItem
*
_first
,
const
BListItem
*
_second
)
{
{
...
@@ -53,25 +56,6 @@ int compare_func( const BListItem * _first, const BListItem * _second )
...
@@ -53,25 +56,6 @@ int compare_func( const BListItem * _first, const BListItem * _second )
return
(
strcmp
(
first
->
Text
(),
second
->
Text
()
)
);
return
(
strcmp
(
first
->
Text
(),
second
->
Text
()
)
);
}
}
/*****************************************************************************
* StringItemWithView::StringItemWithView
*****************************************************************************/
StringItemWithView
::
StringItemWithView
(
const
char
*
text
)
:
BStringItem
(
text
)
{
/* We use the default constructor */
}
/*****************************************************************************
* ConfigView::ConfigView
*****************************************************************************/
ConfigView
::
ConfigView
(
BRect
frame
,
const
char
*
name
,
uint32
resizingMode
,
uint32
flags
)
:
BView
(
frame
,
name
,
resizingMode
,
flags
)
{
/* We use the default constructor */
}
/*****************************************************************************
/*****************************************************************************
* PreferencesWindow::PreferencesWindow
* PreferencesWindow::PreferencesWindow
*****************************************************************************/
*****************************************************************************/
...
@@ -88,9 +72,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -88,9 +72,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
BRect
rect
;
BRect
rect
;
/* The "background" view */
/* The "background" view */
rgb_color
background
=
ui_color
(
B_PANEL_BACKGROUND_COLOR
);
fPrefsView
=
new
BView
(
Bounds
(),
NULL
,
B_FOLLOW_ALL
,
B_WILL_DRAW
);
fPrefsView
=
new
BView
(
Bounds
(),
NULL
,
B_FOLLOW_ALL
,
B_WILL_DRAW
);
fPrefsView
->
SetViewColor
(
background
);
fPrefsView
->
SetViewColor
(
ui_color
(
B_PANEL_BACKGROUND_COLOR
)
);
AddChild
(
fPrefsView
);
AddChild
(
fPrefsView
);
/* Create the preferences tree */
/* Create the preferences tree */
...
@@ -122,13 +105,6 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -122,13 +105,6 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
fOutline
->
AddItem
(
modulesItem
);
fOutline
->
AddItem
(
modulesItem
);
/* Fill the tree */
/* Fill the tree */
/* TODO:
- manage CONFIG_HINT_SUBCATEGORY
- use a pop-up for CONFIG_HINT_MODULE
- use BSliders for integer_with_range and float_with_range
- add the needed LockLooper()s
- fix horizontal window resizing
- make this intuitive ! */
vlc_list_t
*
p_list
;
vlc_list_t
*
p_list
;
p_list
=
vlc_list_find
(
p_intf
,
VLC_OBJECT_MODULE
,
FIND_ANYWHERE
);
p_list
=
vlc_list_find
(
p_intf
,
VLC_OBJECT_MODULE
,
FIND_ANYWHERE
);
if
(
!
p_list
)
if
(
!
p_list
)
...
@@ -158,22 +134,19 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -158,22 +134,19 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
/* Build the config view for this module */
/* Build the config view for this module */
rect
=
fDummyView
->
Bounds
();
rect
=
fDummyView
->
Bounds
();
rect
.
right
-=
B_V_SCROLL_BAR_WIDTH
;
rect
.
right
-=
B_V_SCROLL_BAR_WIDTH
;
Config
View
*
configView
;
B
View
*
configView
;
configView
=
new
Config
View
(
rect
,
"config view"
,
configView
=
new
B
View
(
rect
,
"config view"
,
B_FOLLOW_LEFT_RIGHT
|
B_FOLLOW_TOP
,
B_WILL_DRAW
);
B_FOLLOW_LEFT_RIGHT
|
B_FOLLOW_TOP
,
B_WILL_DRAW
);
configView
->
SetViewColor
(
background
);
configView
->
SetViewColor
(
ui_color
(
B_PANEL_BACKGROUND_COLOR
)
);
rect
=
configView
->
Bounds
();
rect
=
configView
->
Bounds
();
rect
.
InsetBy
(
10
,
10
);
rect
.
InsetBy
(
10
,
10
);
rect
.
bottom
=
rect
.
top
+
TEXT_HEIGHT
;
rect
.
bottom
=
rect
.
top
+
TEXT_HEIGHT
;
BTextControl
*
textControl
;
ConfigTextControl
*
textControl
;
BCheckBox
*
checkBox
;
ConfigCheckBox
*
checkBox
;
ConfigMenuField
*
menuField
;
/* FIXME: we use the BControl name to store the VLC variable name.
BPopUpMenu
*
popUp
;
To know what variable type it is, I add one character at the beginning
of the name (see ApplyChanges()); it's not pretty, but it works. To
be cleaned later. */
char
name
[
128
];
p_item
=
p_module
->
p_config
;
p_item
=
p_module
->
p_config
;
bool
firstItem
=
true
;
bool
firstItem
=
true
;
do
do
...
@@ -189,12 +162,25 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -189,12 +162,25 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
else
else
firstItem
=
false
;
firstItem
=
false
;
memset
(
name
,
0
,
128
);
if
(
p_item
->
ppsz_list
&&
p_item
->
ppsz_list
[
0
]
)
sprintf
(
name
,
"s%s"
,
p_item
->
psz_name
);
{
textControl
=
new
BTextControl
(
rect
,
name
,
p_item
->
psz_text
,
popUp
=
new
BPopUpMenu
(
""
);
""
,
new
BMessage
(),
menuField
=
new
ConfigMenuField
(
rect
,
p_item
->
psz_text
,
B_FOLLOW_NONE
);
popUp
,
p_item
->
psz_name
);
BMenuItem
*
menuItem
;
for
(
int
i
=
0
;
p_item
->
ppsz_list
[
i
];
i
++
)
{
menuItem
=
new
BMenuItem
(
p_item
->
ppsz_list
[
i
],
new
BMessage
()
);
popUp
->
AddItem
(
menuItem
);
}
configView
->
AddChild
(
menuField
);
}
else
{
textControl
=
new
ConfigTextControl
(
rect
,
p_item
->
psz_text
,
CONFIG_ITEM_STRING
,
p_item
->
psz_name
);
configView
->
AddChild
(
textControl
);
configView
->
AddChild
(
textControl
);
}
break
;
break
;
case
CONFIG_ITEM_INTEGER
:
case
CONFIG_ITEM_INTEGER
:
...
@@ -203,11 +189,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -203,11 +189,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
else
else
firstItem
=
false
;
firstItem
=
false
;
memset
(
name
,
0
,
128
);
textControl
=
new
ConfigTextControl
(
rect
,
p_item
->
psz_text
,
sprintf
(
name
,
"i%s"
,
p_item
->
psz_name
);
CONFIG_ITEM_INTEGER
,
p_item
->
psz_name
);
textControl
=
new
BTextControl
(
rect
,
name
,
p_item
->
psz_text
,
""
,
new
BMessage
(),
B_FOLLOW_NONE
);
configView
->
AddChild
(
textControl
);
configView
->
AddChild
(
textControl
);
break
;
break
;
...
@@ -217,11 +200,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -217,11 +200,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
else
else
firstItem
=
false
;
firstItem
=
false
;
memset
(
name
,
0
,
128
);
textControl
=
new
ConfigTextControl
(
rect
,
p_item
->
psz_text
,
sprintf
(
name
,
"f%s"
,
p_item
->
psz_name
);
CONFIG_ITEM_FLOAT
,
p_item
->
psz_name
);
textControl
=
new
BTextControl
(
rect
,
name
,
p_item
->
psz_text
,
""
,
new
BMessage
(),
B_FOLLOW_NONE
);
configView
->
AddChild
(
textControl
);
configView
->
AddChild
(
textControl
);
break
;
break
;
...
@@ -231,10 +211,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -231,10 +211,8 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
else
else
firstItem
=
false
;
firstItem
=
false
;
memset
(
name
,
0
,
128
);
checkBox
=
new
ConfigCheckBox
(
rect
,
p_item
->
psz_text
,
sprintf
(
name
,
"b%s"
,
p_item
->
psz_name
);
p_item
->
psz_name
);
checkBox
=
new
BCheckBox
(
rect
,
name
,
p_item
->
psz_text
,
new
BMessage
(),
B_FOLLOW_NONE
);
configView
->
AddChild
(
checkBox
);
configView
->
AddChild
(
checkBox
);
break
;
break
;
}
}
...
@@ -243,8 +221,7 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
...
@@ -243,8 +221,7 @@ PreferencesWindow::PreferencesWindow( intf_thread_t * p_interface,
/* Adjust the configView size */
/* Adjust the configView size */
rect
.
bottom
+=
10
;
rect
.
bottom
+=
10
;
configView
->
fRealBounds
=
BRect
(
0
,
0
,
configView
->
Bounds
().
Width
(),
rect
.
bottom
);
configView
->
ResizeTo
(
configView
->
Bounds
().
Width
(),
rect
.
bottom
);
configView
->
ResizeTo
(
configView
->
Bounds
().
Width
(),
configView
->
Bounds
().
Height
()
);
/* Add the item to the tree */
/* Add the item to the tree */
StringItemWithView
*
stringItem
;
StringItemWithView
*
stringItem
;
...
@@ -345,12 +322,9 @@ void PreferencesWindow::FrameResized( float width, float height )
...
@@ -345,12 +322,9 @@ void PreferencesWindow::FrameResized( float width, float height )
{
{
BWindow
::
FrameResized
(
width
,
height
);
BWindow
::
FrameResized
(
width
,
height
);
/* Get the current ConfigView */
/* Get the current config BView */
ConfigView
*
view
;
BView
*
view
;
view
=
(
ConfigView
*
)
fConfigScroll
->
ChildAt
(
0
);
view
=
fConfigScroll
->
ChildAt
(
0
);
view
->
ResizeTo
(
fDummyView
->
Bounds
().
Width
()
-
B_V_SCROLL_BAR_WIDTH
,
fDummyView
->
Bounds
().
Height
()
);
UpdateScrollBar
();
UpdateScrollBar
();
}
}
...
@@ -372,11 +346,11 @@ void PreferencesWindow::Update()
...
@@ -372,11 +346,11 @@ void PreferencesWindow::Update()
if
(
fConfigScroll
)
if
(
fConfigScroll
)
{
{
/* If we don't do this, the
Config
View will remember a wrong position */
/* If we don't do this, the
config B
View will remember a wrong position */
BScrollBar
*
scrollBar
=
fConfigScroll
->
ScrollBar
(
B_VERTICAL
);
BScrollBar
*
scrollBar
=
fConfigScroll
->
ScrollBar
(
B_VERTICAL
);
scrollBar
->
SetValue
(
0
);
scrollBar
->
SetValue
(
0
);
/* Detach the current
Config
View, remove the BScrollView */
/* Detach the current
config B
View, remove the BScrollView */
BView
*
view
;
BView
*
view
;
while
(
(
view
=
fConfigScroll
->
ChildAt
(
0
)
)
)
while
(
(
view
=
fConfigScroll
->
ChildAt
(
0
)
)
)
fConfigScroll
->
RemoveChild
(
view
);
fConfigScroll
->
RemoveChild
(
view
);
...
@@ -384,14 +358,17 @@ void PreferencesWindow::Update()
...
@@ -384,14 +358,17 @@ void PreferencesWindow::Update()
delete
fConfigScroll
;
delete
fConfigScroll
;
}
}
/* Create a BScrollView with the new config BView in it */
BRect
oldBounds
=
selectedItem
->
fConfigView
->
Bounds
();
selectedItem
->
fConfigView
->
ResizeTo
(
fDummyView
->
Bounds
().
Width
()
-
selectedItem
->
fConfigView
->
ResizeTo
(
fDummyView
->
Bounds
().
Width
()
-
B_V_SCROLL_BAR_WIDTH
,
B_V_SCROLL_BAR_WIDTH
,
fDummyView
->
Bounds
().
Height
()
);
fDummyView
->
Bounds
().
Height
()
);
/* Create a BScrollView with the new ConfigView in it */
fConfigScroll
=
new
BScrollView
(
""
,
selectedItem
->
fConfigView
,
B_FOLLOW_ALL_SIDES
,
fConfigScroll
=
new
BScrollView
(
""
,
selectedItem
->
fConfigView
,
B_FOLLOW_ALL_SIDES
,
0
,
false
,
true
,
B_NO_BORDER
);
0
,
false
,
true
,
B_NO_BORDER
);
fConfigScroll
->
SetViewColor
(
ui_color
(
B_PANEL_BACKGROUND_COLOR
)
);
fDummyView
->
AddChild
(
fConfigScroll
);
fDummyView
->
AddChild
(
fConfigScroll
);
selectedItem
->
fConfigView
->
ResizeTo
(
oldBounds
.
Width
(),
oldBounds
.
Height
()
);
UpdateScrollBar
();
UpdateScrollBar
();
}
}
...
@@ -405,8 +382,8 @@ void PreferencesWindow::UpdateScrollBar()
...
@@ -405,8 +382,8 @@ void PreferencesWindow::UpdateScrollBar()
correctly simple BViews */
correctly simple BViews */
/* Get the current config view */
/* Get the current config view */
Config
View
*
view
;
B
View
*
view
;
view
=
(
ConfigView
*
)
fConfigScroll
->
ChildAt
(
0
);
view
=
fConfigScroll
->
ChildAt
(
0
);
/* Get the available BRect for display */
/* Get the available BRect for display */
BRect
display
=
fConfigScroll
->
Bounds
();
BRect
display
=
fConfigScroll
->
Bounds
();
...
@@ -415,10 +392,10 @@ void PreferencesWindow::UpdateScrollBar()
...
@@ -415,10 +392,10 @@ void PreferencesWindow::UpdateScrollBar()
/* Fix the scrollbar */
/* Fix the scrollbar */
BScrollBar
*
scrollBar
;
BScrollBar
*
scrollBar
;
long
max
;
long
max
;
BRect
visible
=
display
&
view
->
fRealBounds
;
BRect
visible
=
display
&
view
->
Bounds
()
;
BRect
total
=
display
|
view
->
fRealBounds
;
BRect
total
=
display
|
view
->
Bounds
()
;
scrollBar
=
fConfigScroll
->
ScrollBar
(
B_VERTICAL
);
scrollBar
=
fConfigScroll
->
ScrollBar
(
B_VERTICAL
);
max
=
(
long
)(
view
->
fRealBounds
.
Height
()
-
visible
.
Height
()
);
max
=
(
long
)(
view
->
Bounds
()
.
Height
()
-
visible
.
Height
()
);
if
(
max
<
0
)
max
=
0
;
if
(
max
<
0
)
max
=
0
;
scrollBar
->
SetRange
(
0
,
max
);
scrollBar
->
SetRange
(
0
,
max
);
scrollBar
->
SetProportion
(
visible
.
Height
()
/
total
.
Height
()
);
scrollBar
->
SetProportion
(
visible
.
Height
()
/
total
.
Height
()
);
...
@@ -432,7 +409,7 @@ void PreferencesWindow::UpdateScrollBar()
...
@@ -432,7 +409,7 @@ void PreferencesWindow::UpdateScrollBar()
void
PreferencesWindow
::
ApplyChanges
(
bool
doIt
)
void
PreferencesWindow
::
ApplyChanges
(
bool
doIt
)
{
{
StringItemWithView
*
item
;
StringItemWithView
*
item
;
Config
View
*
view
;
B
View
*
view
;
BView
*
child
;
BView
*
child
;
const
char
*
name
;
const
char
*
name
;
BString
string
;
BString
string
;
...
@@ -449,44 +426,81 @@ void PreferencesWindow::ApplyChanges( bool doIt )
...
@@ -449,44 +426,81 @@ void PreferencesWindow::ApplyChanges( bool doIt )
{
{
child
=
view
->
ChildAt
(
j
);
child
=
view
->
ChildAt
(
j
);
name
=
child
->
Name
();
name
=
child
->
Name
();
switch
(
*
name
)
if
(
!
strcmp
(
name
,
"ConfigTextControl"
)
)
{
ConfigTextControl
*
textControl
;
textControl
=
(
ConfigTextControl
*
)
child
;
switch
(
textControl
->
fConfigType
)
{
{
case
's'
:
/* BTextControl, string variable */
case
CONFIG_ITEM_STRING
:
if
(
doIt
)
if
(
doIt
)
config_PutPsz
(
p_intf
,
name
+
1
,
((
BTextControl
*
)
child
)
->
Text
()
);
config_PutPsz
(
p_intf
,
textControl
->
fConfigName
,
textControl
->
Text
()
);
else
else
((
BTextControl
*
)
child
)
->
SetText
(
config_GetPsz
(
p_intf
,
name
+
1
)
);
textControl
->
SetText
(
config_GetPsz
(
p_intf
,
textControl
->
fConfigName
)
);
break
;
break
;
case
'i'
:
/* BTextControl, int variable */
case
CONFIG_ITEM_INTEGER
:
if
(
doIt
)
if
(
doIt
)
config_PutInt
(
p_intf
,
name
+
1
,
atoi
(
((
BTextControl
*
)
child
)
->
Text
()
)
);
config_PutInt
(
p_intf
,
textControl
->
fConfigName
,
atoi
(
textControl
->
Text
()
)
);
else
else
{
{
string
=
""
;
string
=
""
;
string
<<
config_GetInt
(
p_intf
,
name
+
1
);
string
<<
config_GetInt
(
p_intf
,
textControl
->
fConfigName
);
((
BTextControl
*
)
child
)
->
SetText
(
string
.
String
()
);
textControl
->
SetText
(
string
.
String
()
);
}
}
break
;
break
;
case
'f'
:
/* BTextControl, float variable */
case
CONFIG_ITEM_FLOAT
:
if
(
doIt
)
if
(
doIt
)
config_PutFloat
(
p_intf
,
name
+
1
,
config_PutFloat
(
p_intf
,
textControl
->
fConfigName
,
strtod
(
((
BTextControl
*
)
child
)
->
Text
(),
NULL
)
);
strtod
(
textControl
->
Text
(),
NULL
)
);
else
else
{
{
string
=
""
;
string
=
""
;
string
<<
config_GetFloat
(
p_intf
,
name
+
1
);
string
<<
config_GetFloat
(
p_intf
,
textControl
->
fConfigName
);
((
BTextControl
*
)
child
)
->
SetText
(
string
.
String
()
);
textControl
->
SetText
(
string
.
String
()
);
}
}
break
;
break
;
case
'b'
:
/* BCheckBox, bool variable */
}
}
else
if
(
!
strcmp
(
name
,
"ConfigCheckBox"
)
)
{
ConfigCheckBox
*
checkBox
;
checkBox
=
(
ConfigCheckBox
*
)
child
;
if
(
doIt
)
if
(
doIt
)
config_PutInt
(
p_intf
,
name
+
1
,
((
BCheckBox
*
)
child
)
->
Value
()
);
config_PutInt
(
p_intf
,
checkBox
->
fConfigName
,
checkBox
->
Value
()
);
else
else
((
BCheckBox
*
)
child
)
->
SetValue
(
config_GetInt
(
p_intf
,
name
+
1
)
);
checkBox
->
SetValue
(
config_GetInt
(
p_intf
,
checkBox
->
fConfigName
)
);
}
else
if
(
!
strcmp
(
name
,
"ConfigMenuField"
)
)
{
ConfigMenuField
*
menuField
;
menuField
=
(
ConfigMenuField
*
)
child
;
BMenu
*
menu
;
BMenuItem
*
menuItem
;
menu
=
menuField
->
Menu
();
if
(
doIt
)
{
menuItem
=
menu
->
FindMarked
();
if
(
menuItem
)
config_PutPsz
(
p_intf
,
menuField
->
fConfigName
,
menuItem
->
Label
()
);
}
else
{
char
*
value
;
value
=
config_GetPsz
(
p_intf
,
menuField
->
fConfigName
);
if
(
!
value
)
value
=
""
;
for
(
int
k
=
0
;
k
<
menu
->
CountItems
();
k
++
)
{
menuItem
=
menu
->
ItemAt
(
k
);
if
(
!
strcmp
(
value
,
menuItem
->
Label
()
)
)
{
menuItem
->
SetMarked
(
true
);
break
;
break
;
}
}
}
}
}
}
}
}
}
}
}
/*****************************************************************************
/*****************************************************************************
...
...
modules/gui/beos/PreferencesWindow.h
View file @
3dae4454
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* PreferencesWindow.h
* PreferencesWindow.h
*****************************************************************************
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: PreferencesWindow.h,v 1.1
3 2003/05/13 11:18:25
titer Exp $
* $Id: PreferencesWindow.h,v 1.1
4 2003/05/13 14:11:33
titer Exp $
*
*
* Authors: Eric Petit <titer@videolan.org>
* Authors: Eric Petit <titer@videolan.org>
*
*
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#ifndef BEOS_PREFERENCES_WINDOW_H
#ifndef BEOS_PREFERENCES_WINDOW_H
#define BEOS_PREFERENCES_WINDOW_H
#define BEOS_PREFERENCES_WINDOW_H
#include <
Window
.h>
#include <
InterfaceKit
.h>
#define PREFS_WINDOW_WIDTH 600
#define PREFS_WINDOW_WIDTH 600
#define PREFS_WINDOW_HEIGHT 400
#define PREFS_WINDOW_HEIGHT 400
...
@@ -34,25 +34,58 @@
...
@@ -34,25 +34,58 @@
#define PREFS_SAVE 'prsa'
#define PREFS_SAVE 'prsa'
#define TEXT_HEIGHT 16
#define TEXT_HEIGHT 16
class
ConfigView
:
public
BView
class
StringItemWithView
:
public
BStringItem
{
{
public:
public:
ConfigView
(
BRect
frame
,
const
char
*
name
,
StringItemWithView
(
const
char
*
text
)
uint32
resizingMode
,
uint32
flags
);
:
BStringItem
(
text
)
{}
/* When we create the view, we have to give it an arbitrary size because
/* Here we store the config BView associated to this module */
it will be the size of the BScrollView. That's why we keep the real size
BView
*
fConfigView
;
in fRealBounds so we can have a correct BScrollBar later */
BRect
fRealBounds
;
};
};
class
StringItemWithView
:
public
BStringItem
class
ConfigTextControl
:
public
BTextControl
{
public:
ConfigTextControl
(
BRect
rect
,
char
*
label
,
int
type
,
char
*
configName
)
:
BTextControl
(
rect
,
"ConfigTextControl"
,
label
,
""
,
new
BMessage
()
)
{
fConfigType
=
type
;
fConfigName
=
strdup
(
configName
);
}
int
fConfigType
;
char
*
fConfigName
;
};
class
ConfigCheckBox
:
public
BCheckBox
{
public:
ConfigCheckBox
(
BRect
rect
,
char
*
label
,
char
*
configName
)
:
BCheckBox
(
rect
,
"ConfigCheckBox"
,
label
,
new
BMessage
()
)
{
fConfigName
=
strdup
(
configName
);
}
char
*
fConfigName
;
};
class
ConfigMenuField
:
public
BMenuField
{
{
public:
public:
StringItemWithView
(
const
char
*
text
);
ConfigMenuField
(
BRect
rect
,
char
*
label
,
BPopUpMenu
*
popUp
,
char
*
configName
)
:
BMenuField
(
rect
,
"ConfigMenuField"
,
label
,
popUp
,
new
BMessage
()
)
{
fConfigName
=
strdup
(
configName
);
}
/* Here we store the ConfigView associated to this module */
char
*
fConfigName
;
ConfigView
*
fConfigView
;
};
};
class
PreferencesWindow
:
public
BWindow
class
PreferencesWindow
:
public
BWindow
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment