|
YCP UI Widget Reference
Back to the widget index
|
ColoredLabel
|
Simple static text with specified background and foreground color
|
|
Description
Very much the same as a `Label except you specify foreground and background colors and margins.
This widget is only available on graphical UIs with at least 15 bit color depth (32767 colors).
Note:
This is a "special" widget, i.e. not all UIs necessarily support it. Check
for availability with HasSpecialWidget(`ColoredLabel) before using it.
Arguments
|
string
|
label
|
|
|
color
|
foreground
|
color
|
|
color
|
background
|
color
|
|
integer
|
margin
|
around the widget in pixels
|
Special Properties
|
string
|
Value
|
the label text
|
Sample Usage
`ColoredLabel("Hello, World!", `rgb(255, 0, 255), `rgb(0, 128, 0), 20 )
Examples
UI(``{
if ( ! HasSpecialWidget(`ColoredLabel) )
{
OpenDialog(
`VBox(
`Label("Error: This UI doesn't support the ColoredLabel widget!"),
`PushButton(`opt(`default), "&OK")
)
);
UserInput();
CloseDialog();
return;
}
OpenDialog(
`VBox(
`ColoredLabel( "Hello, blue world!",
`rgb(255, 255, 255 ), // foreground
`rgb( 0, 0, 200 ), // background
30 ),
`PushButton(`opt(`default), "&OK")
)
);
UserInput();
CloseDialog();
})
|
|
UI(``{
if ( ! HasSpecialWidget(`ColoredLabel) )
{
OpenDialog(
`VBox(
`Label("Error: This UI doesn't support the ColoredLabel widget!"),
`PushButton(`opt(`default), "&OK")
)
);
UserInput();
CloseDialog();
return;
}
OpenDialog(
`VBox(
`ColoredLabel( `opt(`hstretch), "red" , `rgb( 255, 0, 0 ), `rgb( 80, 80, 80 ), 10 ),
`ColoredLabel( `opt(`hstretch), "green", `rgb( 0, 255, 0 ), `rgb( 80, 80, 80 ), 10 ),
`ColoredLabel( `opt(`hstretch), "blue" , `rgb( 0, 0, 255 ), `rgb( 80, 80, 80 ), 10 ),
`VSpacing(),
`ColoredLabel( `opt(`hstretch), "red" , `rgb( 80, 80, 80 ), `rgb( 255, 0, 0 ), 10 ),
`ColoredLabel( `opt(`hstretch), "green", `rgb( 80, 80, 80 ), `rgb( 0, 255, 0 ), 10 ),
`ColoredLabel( `opt(`hstretch), "blue" , `rgb( 80, 80, 80 ), `rgb( 0, 0, 255 ), 10 ),
`VSpacing(),
`PushButton(`opt(`default), "&OK")
)
);
UserInput();
CloseDialog();
})
|
|
/**
* Advanced ColoredLabel example: A sample ColoredLabel widget and sliders
* for both foreground and background colors.
**/
UI(``{
if ( ! HasSpecialWidget(`ColoredLabel) || ! HasSpecialWidget(`Slider) )
{
OpenDialog(
`VBox(
`Label("Error: This UI doesn't support the required special widgets!"),
`PushButton(`opt(`default), "&OK")
)
);
UserInput();
CloseDialog();
return;
}
define void sample( integer fg_red, integer fg_green, integer fg_blue,
integer bg_red, integer bg_green, integer bg_blue ) ``{
return `ColoredLabel( `opt(`hstretch),
"Use the sliders\nto change color",
`rgb( fg_red, fg_green, fg_blue ),
`rgb( bg_red, bg_green, bg_blue ),
30 );
};
OpenDialog(
`VBox(
`ReplacePoint(`id(`sample), sample( 200, 0, 0,
0, 0, 200) ),
`VSpacing(),
`HBox(
`Frame( "Foreground",
`VBox(
`Slider(`id(`fg_red ),`opt(`notify), "&red", 0, 255, 200 ),
`Slider(`id(`fg_green),`opt(`notify), "&green", 0, 255, 0 ),
`Slider(`id(`fg_blue ),`opt(`notify), "&blue", 0, 255, 0 )
)
),
`Frame( "Backround",
`VBox(
`Slider(`id(`bg_red ), `opt(`notify), "r&ed", 0, 255, 0 ),
`Slider(`id(`bg_green), `opt(`notify), "gree&n", 0, 255, 0 ),
`Slider(`id(`bg_blue ), `opt(`notify), "b&lue", 0, 255, 200 )
)
)
),
`VSpacing(),
`PushButton(`id(`close), "&Close")
)
);
symbol widget = nil;
do
{
widget = UserInput();
if ( widget != `close )
{
ReplaceWidget(`id(`sample),
sample( QueryWidget(`id(`fg_red ), `Value ),
QueryWidget(`id(`fg_green), `Value ),
QueryWidget(`id(`fg_blue ), `Value ),
QueryWidget(`id(`bg_red ), `Value ),
QueryWidget(`id(`bg_green), `Value ),
QueryWidget(`id(`bg_blue ), `Value )
)
);
}
} while ( widget != `close );
CloseDialog();
})
|
|
/**
* Advanced ColoredLabel example: A sample ColoredLabel widget and sliders
* for both foreground and background colors and a colored label beside each slider.
**/
UI(``{
if ( ! HasSpecialWidget(`ColoredLabel) || ! HasSpecialWidget(`Slider) )
{
OpenDialog(
`VBox(
`Label("Error: This UI doesn't support the required special widgets!"),
`PushButton(`opt(`default), "&OK")
)
);
UserInput();
CloseDialog();
return;
}
define void sample( integer fg_red, integer fg_green, integer fg_blue,
integer bg_red, integer bg_green, integer bg_blue ) ``{
return `ColoredLabel( `opt(`hstretch),
"Use the sliders\nto change color",
`rgb( fg_red, fg_green, fg_blue ),
`rgb( bg_red, bg_green, bg_blue ),
30 );
};
OpenDialog(
`VBox(
`ReplacePoint(`id(`sample), sample( 200, 0, 0,
0, 0, 200) ),
`VSpacing(),
`HBox(
`Frame( "Foreground",
`VBox(
`HBox(
`Slider(`id(`fg_red ),`opt(`notify), "&red", 0, 255, 200 ),
`ColoredLabel(" ", `rgb(255, 0, 0), `rgb(255, 0, 0), 10 ),
`HSpacing()
),
`HBox(
`Slider(`id(`fg_green),`opt(`notify), "&green", 0, 255, 0 ),
`ColoredLabel(" ", `rgb(0, 255, 0), `rgb(0, 255, 0), 10 ),
`HSpacing()
),
`HBox(
`Slider(`id(`fg_blue ),`opt(`notify), "&blue", 0, 255, 0 ),
`ColoredLabel(" ", `rgb(0, 0, 255), `rgb(0, 0, 255), 10 ),
`HSpacing()
)
)
),
`HSpacing(),
`Frame( "Backround",
`VBox(
`HBox(
`Slider(`id(`bg_red ),`opt(`notify), "&red", 0, 255, 0 ),
`ColoredLabel(" ", `rgb(255, 0, 0), `rgb(255, 0, 0), 10 ),
`HSpacing()
),
`HBox(
`Slider(`id(`bg_green),`opt(`notify), "&green", 0, 255, 0 ),
`ColoredLabel(" ", `rgb(0, 255, 0), `rgb(0, 255, 0), 10 ),
`HSpacing()
),
`HBox(
`Slider(`id(`bg_blue ),`opt(`notify), "&blue", 0, 255, 200 ),
`ColoredLabel(" ", `rgb(0, 0, 255), `rgb(0, 0, 255), 10 ),
`HSpacing()
)
)
)
),
`VSpacing(),
`PushButton(`id(`close), "&Close")
)
);
symbol widget = nil;
do
{
widget = UserInput();
if ( widget != `close )
{
ReplaceWidget(`id(`sample),
sample( QueryWidget(`id(`fg_red ), `Value ),
QueryWidget(`id(`fg_green), `Value ),
QueryWidget(`id(`fg_blue ), `Value ),
QueryWidget(`id(`bg_red ), `Value ),
QueryWidget(`id(`bg_green), `Value ),
QueryWidget(`id(`bg_blue ), `Value )
)
);
}
} while ( widget != `close );
CloseDialog();
})
|
Back to the widget index
|