Create and use new list view item colors
* B_LIST_BACKGROUND_COLOR * B_LIST_SELECTED_BACKGROUND_COLOR * B_LIST_ITEM_TEXT_COLOR * B_LIST_SELECTED_ITEM_TEXT_COLOR
This commit is contained in:
@@ -306,27 +306,32 @@ enum color_which {
|
|||||||
B_MENU_SELECTED_ITEM_TEXT_COLOR = 8,
|
B_MENU_SELECTED_ITEM_TEXT_COLOR = 8,
|
||||||
B_MENU_SELECTED_BORDER_COLOR = 9,
|
B_MENU_SELECTED_BORDER_COLOR = 9,
|
||||||
|
|
||||||
|
B_LIST_BACKGROUND_COLOR = 28,
|
||||||
|
B_LIST_SELECTED_BACKGROUND_COLOR = 29,
|
||||||
|
B_LIST_ITEM_TEXT_COLOR = 30,
|
||||||
|
B_LIST_SELECTED_ITEM_TEXT_COLOR = 31,
|
||||||
|
|
||||||
B_TOOL_TIP_BACKGROUND_COLOR = 20,
|
B_TOOL_TIP_BACKGROUND_COLOR = 20,
|
||||||
B_TOOL_TIP_TEXT_COLOR = 21,
|
B_TOOL_TIP_TEXT_COLOR = 21,
|
||||||
|
|
||||||
B_SUCCESS_COLOR = 100,
|
B_SUCCESS_COLOR = 100,
|
||||||
B_FAILURE_COLOR = 101,
|
B_FAILURE_COLOR = 101,
|
||||||
|
|
||||||
// Old name synonyms.
|
|
||||||
B_KEYBOARD_NAVIGATION_COLOR = B_NAVIGATION_BASE_COLOR,
|
|
||||||
B_MENU_SELECTION_BACKGROUND_COLOR = B_MENU_SELECTED_BACKGROUND_COLOR,
|
|
||||||
|
|
||||||
// These are deprecated -- do not use in new code. See BScreen for
|
|
||||||
// the replacement for B_DESKTOP_COLOR.
|
|
||||||
B_DESKTOP_COLOR = 5,
|
|
||||||
|
|
||||||
B_WINDOW_TAB_COLOR = 3,
|
B_WINDOW_TAB_COLOR = 3,
|
||||||
B_WINDOW_TEXT_COLOR = 22,
|
B_WINDOW_TEXT_COLOR = 22,
|
||||||
B_WINDOW_INACTIVE_TAB_COLOR = 23,
|
B_WINDOW_INACTIVE_TAB_COLOR = 23,
|
||||||
B_WINDOW_INACTIVE_TEXT_COLOR = 24,
|
B_WINDOW_INACTIVE_TEXT_COLOR = 24,
|
||||||
|
|
||||||
B_WINDOW_BORDER_COLOR = 25,
|
B_WINDOW_BORDER_COLOR = 25,
|
||||||
B_WINDOW_INACTIVE_BORDER_COLOR = 26
|
B_WINDOW_INACTIVE_BORDER_COLOR = 26,
|
||||||
|
|
||||||
|
// Old name synonyms.
|
||||||
|
B_KEYBOARD_NAVIGATION_COLOR = B_NAVIGATION_BASE_COLOR,
|
||||||
|
B_MENU_SELECTION_BACKGROUND_COLOR = B_MENU_SELECTED_BACKGROUND_COLOR,
|
||||||
|
|
||||||
|
// These are deprecated -- do not use in new code. See BScreen for
|
||||||
|
// the replacement for B_DESKTOP_COLOR.
|
||||||
|
B_DESKTOP_COLOR = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include <InterfaceDefs.h>
|
#include <InterfaceDefs.h>
|
||||||
|
|
||||||
|
|
||||||
static const int32 kNumColors = 32;
|
static const int32 kNumColors = 34;
|
||||||
|
|
||||||
struct server_read_only_memory {
|
struct server_read_only_memory {
|
||||||
rgb_color colors[kNumColors];
|
rgb_color colors[kNumColors];
|
||||||
@@ -26,10 +26,10 @@ static inline int32
|
|||||||
color_which_to_index(color_which which)
|
color_which_to_index(color_which which)
|
||||||
{
|
{
|
||||||
// NOTE: this must be kept in sync with InterfaceDefs.h color_which!
|
// NOTE: this must be kept in sync with InterfaceDefs.h color_which!
|
||||||
if (which <= B_CONTROL_MARK_COLOR)
|
if (which <= B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||||
return which - 1;
|
return which - 1;
|
||||||
if (which >= B_SUCCESS_COLOR && which <= B_FAILURE_COLOR)
|
if (which >= B_SUCCESS_COLOR && which <= B_FAILURE_COLOR)
|
||||||
return which - B_SUCCESS_COLOR + B_CONTROL_MARK_COLOR;
|
return which - B_SUCCESS_COLOR + B_LIST_SELECTED_ITEM_TEXT_COLOR;
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -39,11 +39,11 @@ static inline color_which
|
|||||||
index_to_color_which(int32 index)
|
index_to_color_which(int32 index)
|
||||||
{
|
{
|
||||||
if (index >= 0 && index < kNumColors) {
|
if (index >= 0 && index < kNumColors) {
|
||||||
if ((color_which)index < B_CONTROL_MARK_COLOR)
|
if ((color_which)index < B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||||
return (color_which)(index + 1);
|
return (color_which)(index + 1);
|
||||||
else {
|
else {
|
||||||
return (color_which)(index + B_SUCCESS_COLOR
|
return (color_which)(index + B_SUCCESS_COLOR
|
||||||
- B_CONTROL_MARK_COLOR);
|
- B_LIST_SELECTED_ITEM_TEXT_COLOR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ static struct option const kLongOptions[] = {
|
|||||||
I(menu_item_text_color, B_MENU_ITEM_TEXT_COLOR),
|
I(menu_item_text_color, B_MENU_ITEM_TEXT_COLOR),
|
||||||
I(menu_selected_item_text_color, B_MENU_SELECTED_ITEM_TEXT_COLOR),
|
I(menu_selected_item_text_color, B_MENU_SELECTED_ITEM_TEXT_COLOR),
|
||||||
I(menu_selected_border_color, B_MENU_SELECTED_BORDER_COLOR),
|
I(menu_selected_border_color, B_MENU_SELECTED_BORDER_COLOR),
|
||||||
|
I(list_background_color, B_LIST_BACKGROUND_COLOR),
|
||||||
|
I(list_selected_background_color, B_LIST_SELECTED_BACKGROUND_COLOR),
|
||||||
|
I(list_item_text_color, B_LIST_ITEM_TEXT_COLOR),
|
||||||
|
I(list_selected_item_text_color, B_LIST_SELECTED_ITEM_TEXT_COLOR),
|
||||||
I(tooltip_background_color, B_TOOL_TIP_BACKGROUND_COLOR),
|
I(tooltip_background_color, B_TOOL_TIP_BACKGROUND_COLOR),
|
||||||
I(tooltip_text_color, B_TOOL_TIP_TEXT_COLOR),
|
I(tooltip_text_color, B_TOOL_TIP_TEXT_COLOR),
|
||||||
I(success_color, B_SUCCESS_COLOR),
|
I(success_color, B_SUCCESS_COLOR),
|
||||||
|
|||||||
@@ -97,6 +97,10 @@ static const rgb_color _kDefaultColors[kNumColors] = {
|
|||||||
{224, 224, 224, 255}, // B_WINDOW_BORDER_COLOR
|
{224, 224, 224, 255}, // B_WINDOW_BORDER_COLOR
|
||||||
{232, 232, 232, 255}, // B_WINDOW_INACTIVE_BORDER_COLOR
|
{232, 232, 232, 255}, // B_WINDOW_INACTIVE_BORDER_COLOR
|
||||||
{27, 82, 140, 255}, // B_CONTROL_MARK_COLOR
|
{27, 82, 140, 255}, // B_CONTROL_MARK_COLOR
|
||||||
|
{255, 255, 255, 255}, // B_LIST_BACKGROUND_COLOR
|
||||||
|
{153, 153, 153, 255}, // B_LIST_SELECTED_BACKGROUND_COLOR
|
||||||
|
{0, 0, 0, 255}, // B_LIST_ITEM_TEXT_COLOR
|
||||||
|
{0, 0, 0, 255}, // B_LIST_SELECTED_ITEM_TEXT_COLOR
|
||||||
// 100...
|
// 100...
|
||||||
{0, 255, 0, 255}, // B_SUCCESS_COLOR
|
{0, 255, 0, 255}, // B_SUCCESS_COLOR
|
||||||
{255, 0, 0, 255}, // B_FAILURE_COLOR
|
{255, 0, 0, 255}, // B_FAILURE_COLOR
|
||||||
|
|||||||
@@ -1381,6 +1381,9 @@ BListView::_InitObject(list_view_type type)
|
|||||||
fTrack = new track_data;
|
fTrack = new track_data;
|
||||||
fTrack->try_drag = false;
|
fTrack->try_drag = false;
|
||||||
fTrack->item_index = -1;
|
fTrack->item_index = -1;
|
||||||
|
|
||||||
|
SetViewColor(ui_color(B_LIST_BACKGROUND_COLOR));
|
||||||
|
SetLowColor(ui_color(B_LIST_BACKGROUND_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ BStringItem::DrawItem(BView *owner, BRect frame, bool complete)
|
|||||||
|
|
||||||
if (IsSelected() || complete) {
|
if (IsSelected() || complete) {
|
||||||
if (IsSelected()) {
|
if (IsSelected()) {
|
||||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_BACKGROUND_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR));
|
||||||
owner->SetLowColor(owner->HighColor());
|
owner->SetLowColor(owner->HighColor());
|
||||||
} else
|
} else
|
||||||
owner->SetHighColor(lowColor);
|
owner->SetHighColor(lowColor);
|
||||||
@@ -88,16 +88,16 @@ BStringItem::DrawItem(BView *owner, BRect frame, bool complete)
|
|||||||
owner->MovePenTo(frame.left, frame.top + fBaselineOffset);
|
owner->MovePenTo(frame.left, frame.top + fBaselineOffset);
|
||||||
|
|
||||||
if (!IsEnabled()) {
|
if (!IsEnabled()) {
|
||||||
rgb_color textColor = ui_color(B_MENU_ITEM_TEXT_COLOR);
|
rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR);
|
||||||
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
||||||
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
||||||
else
|
else
|
||||||
owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT));
|
owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT));
|
||||||
} else {
|
} else {
|
||||||
if (IsSelected())
|
if (IsSelected())
|
||||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR));
|
||||||
else
|
else
|
||||||
owner->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
owner->DrawString(fText);
|
owner->DrawString(fText);
|
||||||
@@ -118,7 +118,7 @@ BStringItem::SetText(const char *text)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char *
|
const char*
|
||||||
BStringItem::Text() const
|
BStringItem::Text() const
|
||||||
{
|
{
|
||||||
return fText;
|
return fText;
|
||||||
|
|||||||
@@ -47,6 +47,12 @@ static ColorDescription sColorDescriptionTable[] =
|
|||||||
B_TRANSLATE_MARK("Selected menu item text") },
|
B_TRANSLATE_MARK("Selected menu item text") },
|
||||||
{ B_MENU_SELECTED_BORDER_COLOR,
|
{ B_MENU_SELECTED_BORDER_COLOR,
|
||||||
B_TRANSLATE_MARK("Selected menu item border") },
|
B_TRANSLATE_MARK("Selected menu item border") },
|
||||||
|
{ B_LIST_BACKGROUND_COLOR, B_TRANSLATE_MARK("List background") },
|
||||||
|
{ B_LIST_SELECTED_BACKGROUND_COLOR,
|
||||||
|
B_TRANSLATE_MARK("Selected list item background") },
|
||||||
|
{ B_LIST_ITEM_TEXT_COLOR, B_TRANSLATE_MARK("List item text") },
|
||||||
|
{ B_LIST_SELECTED_ITEM_TEXT_COLOR,
|
||||||
|
B_TRANSLATE_MARK("Selected list item text") },
|
||||||
{ B_TOOL_TIP_BACKGROUND_COLOR, B_TRANSLATE_MARK("Tooltip background") },
|
{ B_TOOL_TIP_BACKGROUND_COLOR, B_TRANSLATE_MARK("Tooltip background") },
|
||||||
{ B_TOOL_TIP_TEXT_COLOR, B_TRANSLATE_MARK("Tooltip text") },
|
{ B_TOOL_TIP_TEXT_COLOR, B_TRANSLATE_MARK("Tooltip text") },
|
||||||
{ B_SUCCESS_COLOR, B_TRANSLATE_MARK("Success") },
|
{ B_SUCCESS_COLOR, B_TRANSLATE_MARK("Success") },
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ ColorWhichItem::DrawItem(BView *owner, BRect frame, bool complete)
|
|||||||
|
|
||||||
if (IsSelected() || complete) {
|
if (IsSelected() || complete) {
|
||||||
if (IsSelected()) {
|
if (IsSelected()) {
|
||||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_BACKGROUND_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR));
|
||||||
owner->SetLowColor(owner->HighColor());
|
owner->SetLowColor(owner->HighColor());
|
||||||
} else
|
} else
|
||||||
owner->SetHighColor(lowColor);
|
owner->SetHighColor(lowColor);
|
||||||
@@ -54,16 +54,16 @@ ColorWhichItem::DrawItem(BView *owner, BRect frame, bool complete)
|
|||||||
+ BaselineOffset());
|
+ BaselineOffset());
|
||||||
|
|
||||||
if (!IsEnabled()) {
|
if (!IsEnabled()) {
|
||||||
rgb_color textColor = ui_color(B_MENU_ITEM_TEXT_COLOR);
|
rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR);
|
||||||
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
||||||
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
||||||
else
|
else
|
||||||
owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT));
|
owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT));
|
||||||
} else {
|
} else {
|
||||||
if (IsSelected())
|
if (IsSelected())
|
||||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR));
|
||||||
else
|
else
|
||||||
owner->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
owner->DrawString(Text());
|
owner->DrawString(Text());
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ LanguageListItem::DrawItemWithTextOffset(BView* owner, BRect frame,
|
|||||||
if (IsSelected() || complete) {
|
if (IsSelected() || complete) {
|
||||||
rgb_color color;
|
rgb_color color;
|
||||||
if (IsSelected())
|
if (IsSelected())
|
||||||
color = ui_color(B_MENU_SELECTED_BACKGROUND_COLOR);
|
color = ui_color(B_LIST_SELECTED_BACKGROUND_COLOR);
|
||||||
else
|
else
|
||||||
color = owner->ViewColor();
|
color = owner->ViewColor();
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ LanguageListItem::DrawItemWithTextOffset(BView* owner, BRect frame,
|
|||||||
|
|
||||||
BString text = Text();
|
BString text = Text();
|
||||||
if (!IsEnabled()) {
|
if (!IsEnabled()) {
|
||||||
rgb_color textColor = ui_color(B_MENU_ITEM_TEXT_COLOR);
|
rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR);
|
||||||
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
if (textColor.red + textColor.green + textColor.blue > 128 * 3)
|
||||||
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT));
|
||||||
else
|
else
|
||||||
@@ -88,9 +88,9 @@ LanguageListItem::DrawItemWithTextOffset(BView* owner, BRect frame,
|
|||||||
text << " [" << B_TRANSLATE("already chosen") << "]";
|
text << " [" << B_TRANSLATE("already chosen") << "]";
|
||||||
} else {
|
} else {
|
||||||
if (IsSelected())
|
if (IsSelected())
|
||||||
owner->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR));
|
||||||
else
|
else
|
||||||
owner->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR));
|
owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
owner->MovePenTo(frame.left + kLeftInset + textOffset,
|
owner->MovePenTo(frame.left + kLeftInset + textOffset,
|
||||||
|
|||||||
Reference in New Issue
Block a user