Removed jwidget_select/deselect/set_selected/is_selected/is_deselected functions.

This commit is contained in:
David Capello 2010-07-03 15:03:26 -03:00
parent ee3e04386b
commit 447f6438a4
27 changed files with 153 additions and 194 deletions

View File

@ -92,8 +92,7 @@ void AdvancedModeCommand::execute(Context* context)
window->open_window_fg();
set_config_bool("AdvancedMode", "Warning",
!jwidget_is_selected(donot_show));
set_config_bool("AdvancedMode", "Warning", !donot_show->isSelected());
}
}
}

View File

@ -84,10 +84,7 @@ void ConfigureScreen::execute(Context* context)
load_resolutions(resolution, color_depth, pixel_scale);
if (is_windowed_mode())
jwidget_deselect(fullscreen);
else
jwidget_select(fullscreen);
fullscreen->setSelected(!is_windowed_mode());
window->open_window_fg();
@ -96,8 +93,8 @@ void ConfigureScreen::execute(Context* context)
m_newMode.setHeight(m_resolutions[resolution->getSelectedItem()].second);
m_newMode.setDepth(m_colordepths[color_depth->getSelectedItem()]);
m_newMode.setScaling(m_pixelscale[pixel_scale->getSelectedItem()]);
m_newMode.setCard(jwidget_is_selected(fullscreen) ? GFX_AUTODETECT_FULLSCREEN:
GFX_AUTODETECT_WINDOWED);
m_newMode.setCard(fullscreen->isSelected() ? GFX_AUTODETECT_FULLSCREEN:
GFX_AUTODETECT_WINDOWED);
// Setup graphics mode
if (currentGfxModeGuard.tryGfxMode(m_newMode)) {

View File

@ -216,15 +216,15 @@ void ConfigureTools::execute(Context* context)
}
if (settings->getTiledMode() != TILED_NONE) {
jwidget_select(tiled);
if (settings->getTiledMode() & TILED_X_AXIS) jwidget_select(tiled_x);
if (settings->getTiledMode() & TILED_Y_AXIS) jwidget_select(tiled_y);
tiled->setSelected(true);
if (settings->getTiledMode() & TILED_X_AXIS) tiled_x->setSelected(true);
if (settings->getTiledMode() & TILED_Y_AXIS) tiled_y->setSelected(true);
}
if (settings->getSnapToGrid()) jwidget_select(snap_to_grid);
if (settings->getGridVisible()) jwidget_select(view_grid);
if (settings->getPixelGridVisible()) jwidget_select(pixel_grid);
if (settings->getUseOnionskin()) jwidget_select(check_onionskin);
if (settings->getSnapToGrid()) snap_to_grid->setSelected(true);
if (settings->getGridVisible()) view_grid->setSelected(true);
if (settings->getPixelGridVisible()) pixel_grid->setSelected(true);
if (settings->getUseOnionskin()) check_onionskin->setSelected(true);
if (first_time) {
// Append children
@ -400,7 +400,7 @@ static bool air_speed_slider_change_hook(JWidget widget, void *data)
static bool tiled_check_change_hook(JWidget widget, void *data)
{
bool flag = jwidget_is_selected(widget);
bool flag = widget->isSelected();
UIContext::instance()->getSettings()->setTiledMode(flag ? TILED_BOTH: TILED_NONE);
@ -414,7 +414,7 @@ static bool tiled_xy_check_change_hook(JWidget widget, void *data)
int tiled_axis = (int)((size_t)data);
int tiled_mode = UIContext::instance()->getSettings()->getTiledMode();
if (jwidget_is_selected(widget))
if (widget->isSelected())
tiled_mode |= tiled_axis;
else
tiled_mode &= ~tiled_axis;
@ -427,20 +427,20 @@ static bool tiled_xy_check_change_hook(JWidget widget, void *data)
static bool snap_to_grid_check_change_hook(JWidget widget, void *data)
{
UIContext::instance()->getSettings()->setSnapToGrid(jwidget_is_selected(widget));
UIContext::instance()->getSettings()->setSnapToGrid(widget->isSelected());
return false;
}
static bool view_grid_check_change_hook(JWidget widget, void *data)
{
UIContext::instance()->getSettings()->setGridVisible(jwidget_is_selected(widget));
UIContext::instance()->getSettings()->setGridVisible(widget->isSelected());
refresh_all_editors();
return false;
}
static bool pixel_grid_check_change_hook(JWidget widget, void *data)
{
UIContext::instance()->getSettings()->setPixelGridVisible(jwidget_is_selected(widget));
UIContext::instance()->getSettings()->setPixelGridVisible(widget->isSelected());
refresh_all_editors();
return false;
}
@ -475,7 +475,7 @@ static bool set_grid_button_select_hook(JWidget widget, void *data)
static bool onionskin_check_change_hook(JWidget widget, void *data)
{
UIContext::instance()->getSettings()->setUseOnionskin(jwidget_is_selected(widget));
UIContext::instance()->getSettings()->setUseOnionskin(widget->isSelected());
refresh_all_editors();
return false;
}

View File

@ -77,18 +77,17 @@ void DuplicateSpriteCommand::execute(Context* context)
dst_name->setText(buf);
if (get_config_bool("DuplicateSprite", "Flatten", false))
jwidget_select(flatten);
flatten->setSelected(true);
/* open the window */
window->open_window_fg();
if (window->get_killer() == jwidget_find_name(window, "ok")) {
set_config_bool("DuplicateSprite", "Flatten",
jwidget_is_selected(flatten));
set_config_bool("DuplicateSprite", "Flatten", flatten->isSelected());
// make a copy of the current sprite
Sprite *sprite_copy;
if (jwidget_is_selected(flatten))
if (flatten->isSelected())
sprite_copy = Sprite::createFlattenCopy(*sprite);
else
sprite_copy = new Sprite(*sprite);

View File

@ -107,9 +107,9 @@ void NewFileCommand::execute(Context* context)
// Select image-type
switch (imgtype) {
case IMAGE_RGB: jwidget_select(radio1); break;
case IMAGE_GRAYSCALE: jwidget_select(radio2); break;
case IMAGE_INDEXED: jwidget_select(radio3); break;
case IMAGE_RGB: radio1->setSelected(true); break;
case IMAGE_GRAYSCALE: radio2->setSelected(true); break;
case IMAGE_INDEXED: radio3->setSelected(true); break;
}
// Select background color
@ -122,9 +122,9 @@ void NewFileCommand::execute(Context* context)
bool ok = false;
// Get the options
if (jwidget_is_selected(radio1)) imgtype = IMAGE_RGB;
else if (jwidget_is_selected(radio2)) imgtype = IMAGE_GRAYSCALE;
else if (jwidget_is_selected(radio3)) imgtype = IMAGE_INDEXED;
if (radio1->isSelected()) imgtype = IMAGE_RGB;
else if (radio2->isSelected()) imgtype = IMAGE_GRAYSCALE;
else if (radio3->isSelected()) imgtype = IMAGE_INDEXED;
w = width->getTextInt();
h = height->getTextInt();

View File

@ -108,13 +108,13 @@ void OptionsCommand::execute(Context* context)
// Others
if (get_config_bool("Options", "MoveClick2", false))
jwidget_select(move_click2);
move_click2->setSelected(true);
if (get_config_bool("Options", "DrawClick2", false))
jwidget_select(draw_click2);
draw_click2->setSelected(true);
if (get_config_bool("Options", "MoveSmooth", true))
jwidget_select(check_smooth);
check_smooth->setSelected(true);
// Checked background size
checked_bg->addItem("16x16");
@ -125,7 +125,7 @@ void OptionsCommand::execute(Context* context)
// Zoom checked background
if (RenderEngine::getCheckedBgZoom())
jwidget_select(checked_bg_zoom);
checked_bg_zoom->setSelected(true);
// Checked background colors
checked_bg_color1 = colorbutton_new(RenderEngine::getCheckedBgColor1(), IMAGE_RGB);
@ -150,12 +150,12 @@ void OptionsCommand::execute(Context* context)
context->getSettings()->setGridColor(colorbutton_get_color(grid_color));
context->getSettings()->setPixelGridColor(colorbutton_get_color(pixel_grid_color));
set_config_bool("Options", "MoveSmooth", jwidget_is_selected(check_smooth));
set_config_bool("Options", "MoveClick2", jwidget_is_selected(move_click2));
set_config_bool("Options", "DrawClick2", jwidget_is_selected(draw_click2));
set_config_bool("Options", "MoveSmooth", check_smooth->isSelected());
set_config_bool("Options", "MoveClick2", move_click2->isSelected());
set_config_bool("Options", "DrawClick2", draw_click2->isSelected());
RenderEngine::setCheckedBgType((RenderEngine::CheckedBgType)checked_bg->getSelectedItem());
RenderEngine::setCheckedBgZoom(jwidget_is_selected(checked_bg_zoom));
RenderEngine::setCheckedBgZoom(checked_bg_zoom->isSelected());
RenderEngine::setCheckedBgColor1(colorbutton_get_color(checked_bg_color1));
RenderEngine::setCheckedBgColor2(colorbutton_get_color(checked_bg_color2));
@ -175,7 +175,7 @@ static bool checked_bg_reset_hook(JWidget widget, void *data)
{
// Default values
checked_bg->setSelectedItem((int)RenderEngine::CHECKED_BG_16X16);
jwidget_select(checked_bg_zoom);
checked_bg_zoom->setSelected(true);
colorbutton_set_color(checked_bg_color1, color_rgb(128, 128, 128));
colorbutton_set_color(checked_bg_color2, color_rgb(192, 192, 192));
return true;

View File

@ -114,7 +114,7 @@ void ColorCurveCommand::execute(Context* context)
target_button_set_target(target_button, effect.target);
if (get_config_bool("ColorCurve", "Preview", true))
jwidget_select(check_preview);
check_preview->setSelected(true);
jview_attach(view_curve, curve_editor);
jwidget_set_min_size(view_curve, 128, 64);
@ -165,7 +165,7 @@ static bool window_msg_proc(JWidget widget, JMessage msg)
case JI_SIGNAL_CHECK_CHANGE:
set_config_bool("ColorCurve", "Preview",
jwidget_is_selected(msg->signal.from));
msg->signal.from->isSelected());
make_preview();
break;
}
@ -175,7 +175,7 @@ static bool window_msg_proc(JWidget widget, JMessage msg)
static void make_preview()
{
if (jwidget_is_selected(check_preview))
if (check_preview->isSelected())
preview_restart(preview);
}

View File

@ -122,10 +122,10 @@ void ConvolutionMatrixCommand::execute(Context* context)
target_button_set_target(target_button, effect.target);
if (get_config_bool("ConvolutionMatrix", "Preview", true))
jwidget_select(check_preview);
check_preview->setSelected(true);
if (context->getSettings()->getTiledMode() != TILED_NONE)
jwidget_select(check_tiled);
check_tiled->setSelected(true);
jview_attach(view_convmatr, list_convmatr);
jwidget_set_min_size(view_convmatr, 128, 64);
@ -200,7 +200,7 @@ static void listbox_select_current_convmatr(JWidget listbox)
}
if (select_this) {
jwidget_select(select_this);
select_this->setSelected(true);
list_change_hook(listbox, 0);
}
}
@ -316,16 +316,15 @@ static bool target_change_hook(JWidget widget, void *data)
static bool preview_change_hook(JWidget widget, void *data)
{
set_config_bool("ConvolutionMatrix", "Preview",
jwidget_is_selected(widget));
set_config_bool("ConvolutionMatrix", "Preview", widget->isSelected());
make_preview();
return false;
}
static bool tiled_change_hook(JWidget widget, void *data)
{
TiledMode tiled = jwidget_is_selected(widget) ? TILED_BOTH:
TILED_NONE;
TiledMode tiled = widget->isSelected() ? TILED_BOTH:
TILED_NONE;
// TODO avoid UIContext::instance, hold the context in some place
UIContext::instance()->getSettings()->setTiledMode(tiled);
@ -336,7 +335,7 @@ static bool tiled_change_hook(JWidget widget, void *data)
static void make_preview()
{
if (jwidget_is_selected(check_preview))
if (check_preview->isSelected())
preview_restart(preview);
}

View File

@ -110,10 +110,10 @@ void DespeckleCommand::execute(Context* context)
entry_height->setTextf("%d", get_config_int("Median", "Height", 3));
if (get_config_bool("Median", "Preview", true))
jwidget_select(check_preview);
check_preview->setSelected(true);
if (context->getSettings()->getTiledMode() != TILED_NONE)
jwidget_select(check_tiled);
check_tiled->setSelected(true);
jwidget_add_child(box_target, target_button);
jwidget_add_child(window, preview);
@ -171,15 +171,15 @@ static bool target_change_hook(JWidget widget, void *data)
static bool preview_change_hook(JWidget widget, void *data)
{
set_config_bool("Median", "Preview", jwidget_is_selected(widget));
set_config_bool("Median", "Preview", widget->isSelected());
make_preview();
return false;
}
static bool tiled_change_hook(JWidget widget, void *data)
{
TiledMode tiled = jwidget_is_selected(widget) ? TILED_BOTH:
TILED_NONE;
TiledMode tiled = widget->isSelected() ? TILED_BOTH:
TILED_NONE;
// TODO save context in some place, don't use UIContext directly
UIContext::instance()->getSettings()->setTiledMode(tiled);
@ -198,7 +198,7 @@ static void make_preview()
set_median_size(UIContext::instance()->getSettings()->getTiledMode(),
MID(1, w, 32), MID(1, h, 32));
if (jwidget_is_selected (check_preview))
if (check_preview->isSelected())
preview_restart(preview);
}

View File

@ -97,7 +97,7 @@ void InvertColorCommand::execute(Context* context)
target_button_set_target(target_button, effect.target);
if (get_config_bool("InvertColor", "Preview", true))
jwidget_select(check_preview);
check_preview->setSelected(true);
jwidget_add_child(box_target, target_button);
jwidget_add_child(window, preview);
@ -138,14 +138,14 @@ static bool target_change_hook(JWidget widget, void *data)
static bool preview_change_hook(JWidget widget, void *data)
{
set_config_bool("InvertColor", "Preview", jwidget_is_selected(widget));
set_config_bool("InvertColor", "Preview", widget->isSelected());
make_preview();
return false;
}
static void make_preview()
{
if (jwidget_is_selected(check_preview))
if (check_preview->isSelected())
preview_restart(preview);
}

View File

@ -117,7 +117,7 @@ void ReplaceColorCommand::execute(Context* context)
jslider_set_value(slider_fuzziness,
get_config_int("ReplaceColor", "Fuzziness", 0));
if (get_config_bool("ReplaceColor", "Preview", true))
jwidget_select(check_preview);
check_preview->setSelected(true);
jwidget_add_child(color_buttons_box, button_color1);
jwidget_add_child(color_buttons_box, button_color2);
@ -181,7 +181,7 @@ static bool slider_change_hook(JWidget widget, void *data)
static bool preview_change_hook(JWidget widget, void *data)
{
set_config_bool("ReplaceColor", "Preview", jwidget_is_selected(widget));
set_config_bool("ReplaceColor", "Preview", widget->isSelected());
make_preview();
return false;
}
@ -200,7 +200,7 @@ static void make_preview()
get_color_for_layer(sprite->getCurrentLayer(), to),
MID(0, fuzziness, 255));
if (jwidget_is_selected(check_preview))
if (check_preview->isSelected())
preview_restart(preview);
}

View File

@ -86,7 +86,7 @@ void dialogs_mask_color(Sprite* sprite)
button_cancel = jbutton_new(_("&Cancel"));
if (get_config_bool("MaskColor", "Preview", true))
jwidget_select(check_preview);
check_preview->setSelected(true);
button_1->user_data[1] = sprite;
button_2->user_data[1] = sprite;
@ -143,7 +143,7 @@ void dialogs_mask_color(Sprite* sprite)
jslider_get_value(slider_fuzziness));
set_config_bool("MaskColor", "Preview",
jwidget_is_selected(check_preview));
check_preview->isSelected());
}
/* update boundaries and editors */
@ -203,7 +203,7 @@ static Mask *gen_mask(const Sprite* sprite)
static void mask_preview(Sprite* sprite)
{
if (jwidget_is_selected(check_preview)) {
if (check_preview->isSelected()) {
Mask* mask = gen_mask(sprite);
sprite->generateMaskBoundaries(mask);

View File

@ -286,7 +286,7 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
jradio_deselect_group(widget);
jwidget_signal_off(widget);
jwidget_select(widget);
widget->setSelected(true);
jwidget_signal_on(widget);
}
}
@ -298,8 +298,8 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
if (widget->type == JI_BUTTON) {
/* deselect the widget (maybe the user press the key, but
before release it, changes the focus) */
if (jwidget_is_selected(widget))
jwidget_deselect(widget);
if (widget->isSelected())
widget->setSelected(false);
}
/* TODO theme specific stuff */
@ -317,14 +317,14 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
if ((msg->key.scancode == KEY_ENTER) ||
(msg->key.scancode == KEY_ENTER_PAD) ||
(msg->key.scancode == KEY_SPACE)) {
jwidget_select(widget);
widget->setSelected(true);
return true;
}
}
/* the underscored letter with Alt */
if ((msg->any.shifts & KB_ALT_FLAG) &&
(jwidget_check_underscored(widget, msg->key.scancode))) {
jwidget_select(widget);
widget->setSelected(true);
return true;
}
/* magnetic */
@ -337,7 +337,7 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
process them) */
jmanager_dispatch_messages(ji_get_default_manager());
jwidget_select(widget);
widget->setSelected(true);
return true;
}
}
@ -350,19 +350,16 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
((msg->any.shifts & KB_ALT_FLAG) &&
(jwidget_check_underscored(widget, msg->key.scancode)))) {
if (widget->type == JI_CHECK) {
/* swap the select status */
if (jwidget_is_selected(widget))
jwidget_deselect(widget);
else
jwidget_select(widget);
// Swap the select status
widget->setSelected(!widget->isSelected());
/* signal */
// Signal
jwidget_emit_signal(widget, JI_SIGNAL_CHECK_CHANGE);
jwidget_dirty(widget);
}
else if (widget->type == JI_RADIO) {
if (jwidget_is_deselected(widget)) {
jwidget_select(widget);
if (!widget->isSelected()) {
widget->setSelected(true);
jwidget_emit_signal(widget, JI_SIGNAL_RADIO_CHANGE);
}
}
@ -375,7 +372,7 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
case JM_KEYRELEASED:
if (jwidget_is_enabled(widget)) {
if (widget->type == JI_BUTTON) {
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
button_selected_signal(widget);
return true;
}
@ -388,33 +385,30 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
case JI_BUTTON:
if (jwidget_is_enabled(widget)) {
jwidget_select(widget);
widget->setSelected(true);
button->pressed_status = jwidget_is_selected(widget);
button->pressed_status = widget->isSelected();
widget->captureMouse();
}
return true;
case JI_CHECK:
if (jwidget_is_enabled(widget)) {
if (jwidget_is_selected(widget))
jwidget_deselect(widget);
else
jwidget_select(widget);
widget->setSelected(!widget->isSelected());
button->pressed_status = jwidget_is_selected(widget);
button->pressed_status = widget->isSelected();
widget->captureMouse();
}
return true;
case JI_RADIO:
if (jwidget_is_enabled(widget)) {
if (jwidget_is_deselected(widget)) {
if (!widget->isSelected()) {
jwidget_signal_off(widget);
jwidget_select(widget);
widget->setSelected(true);
jwidget_signal_on(widget);
button->pressed_status = jwidget_is_selected(widget);
button->pressed_status = widget->isSelected();
widget->captureMouse();
}
}
@ -439,8 +433,8 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
break;
case JI_RADIO:
jwidget_deselect(widget);
jwidget_select(widget);
widget->setSelected(false);
widget->setSelected(true);
jwidget_emit_signal(widget, JI_SIGNAL_RADIO_CHANGE);
break;
}
@ -454,15 +448,15 @@ static bool button_msg_proc(JWidget widget, JMessage msg)
bool hasMouse = widget->hasMouseOver();
// Switch state when the mouse go out
if (( hasMouse && jwidget_is_selected(widget) != button->pressed_status) ||
(!hasMouse && jwidget_is_selected(widget) == button->pressed_status)) {
if (( hasMouse && widget->isSelected() != button->pressed_status) ||
(!hasMouse && widget->isSelected() == button->pressed_status)) {
jwidget_signal_off(widget);
if (hasMouse) {
jwidget_set_selected(widget, button->pressed_status);
widget->setSelected(button->pressed_status);
}
else {
jwidget_set_selected(widget, !button->pressed_status);
widget->setSelected(!button->pressed_status);
}
jwidget_signal_on(widget);
@ -518,7 +512,7 @@ static void button_request_size(JWidget widget, int *w, int *h)
static void button_selected_signal(JWidget widget)
{
// deselect
jwidget_deselect(widget);
widget->setSelected(false);
// emit the signal
bool used = jwidget_emit_signal(widget, JI_SIGNAL_BUTTON_SELECT);
@ -558,6 +552,6 @@ static void button_deselect_group(JWidget widget, int radio_group)
if (widget->type == JI_RADIO) {
if (jradio_get_group(widget) == radio_group)
jwidget_deselect(widget);
widget->setSelected(false);
}
}

View File

@ -345,7 +345,7 @@ static JWidget convert_xmlelement_to_widget(TiXmlElement* elem)
jwidget_add_tooltip_text(widget, tooltip);
if (selected)
jwidget_set_selected(widget, selected);
widget->setSelected(selected);
if (disabled)
jwidget_disable(widget);

View File

@ -450,7 +450,7 @@ static bool enter_to_path_in_entry()
{
JWidget listitem = jlistbox_get_selected_child(listbox1);
if (listitem)
jwidget_deselect(listitem);
listitem->setSelected(false);
jlistbox_select_child(listbox1, reinterpret_cast<JWidget>(link->data));
jlistbox_center_scroll(listbox1);
break;

View File

@ -77,7 +77,7 @@ JWidget jlistbox_get_selected_child(JWidget widget)
{
JLink link;
JI_LIST_FOR_EACH(widget->children, link) {
if (jwidget_is_selected((JWidget)link->data))
if (((JWidget)link->data)->isSelected())
return (JWidget)link->data;
}
return 0;
@ -89,7 +89,7 @@ int jlistbox_get_selected_index(JWidget widget)
int i = 0;
JI_LIST_FOR_EACH(widget->children, link) {
if (jwidget_is_selected((JWidget)link->data))
if (((JWidget)link->data)->isSelected())
return i;
i++;
}
@ -105,18 +105,18 @@ void jlistbox_select_child(JWidget widget, JWidget listitem)
JI_LIST_FOR_EACH(widget->children, link) {
child = (JWidget)link->data;
if (jwidget_is_selected(child)) {
if (child->isSelected()) {
if ((listitem) && (child == listitem))
return;
jwidget_deselect(child);
child->setSelected(false);
}
}
if (listitem) {
JWidget view = jwidget_get_view(widget);
jwidget_select(listitem);
listitem->setSelected(true);
if (view) {
JRect vp = jview_get_viewport_position(view);

View File

@ -140,7 +140,7 @@ static bool slider_msg_proc(JWidget widget, JMessage msg)
if (jwidget_is_disabled(widget))
return true;
jwidget_select(widget);
widget->setSelected(true);
widget->captureMouse();
slider_press_x = msg->mouse.x;
@ -202,7 +202,7 @@ static bool slider_msg_proc(JWidget widget, JMessage msg)
case JM_BUTTONRELEASED:
if (widget->hasCapture()) {
jwidget_deselect(widget);
widget->setSelected(false);
widget->releaseMouse();
slider_setcursor(widget);
}

View File

@ -560,7 +560,7 @@ static bool scrollbar_msg_proc(JWidget widget, JMessage msg)
if (ret)
return ret;
jwidget_select(widget);
widget->setSelected(true);
widget->captureMouse();
// continue to JM_MOTION handler...
@ -600,7 +600,7 @@ static bool scrollbar_msg_proc(JWidget widget, JMessage msg)
break;
case JM_BUTTONRELEASED:
jwidget_deselect(widget);
widget->setSelected(false);
widget->releaseMouse();
break;

View File

@ -452,38 +452,26 @@ void jwidget_disable(JWidget widget)
}
}
void jwidget_select(JWidget widget)
void Widget::setSelected(bool state)
{
assert_valid_widget(widget);
if (state) {
if (!(this->flags & JI_SELECTED)) {
this->flags |= JI_SELECTED;
jwidget_dirty(this);
if (!(widget->flags & JI_SELECTED)) {
widget->flags |= JI_SELECTED;
jwidget_dirty(widget);
jwidget_emit_signal(widget, JI_SIGNAL_SELECT);
jwidget_emit_signal(this, JI_SIGNAL_SELECT);
}
}
}
else {
if (this->flags & JI_SELECTED) {
this->flags &= ~JI_SELECTED;
jwidget_dirty(this);
void jwidget_deselect(JWidget widget)
{
assert_valid_widget(widget);
if (widget->flags & JI_SELECTED) {
widget->flags &= ~JI_SELECTED;
jwidget_dirty(widget);
jwidget_emit_signal(widget, JI_SIGNAL_DESELECT);
jwidget_emit_signal(this, JI_SIGNAL_DESELECT);
}
}
}
void jwidget_set_selected(JWidget widget, bool state)
{
if (state)
jwidget_select(widget);
else
jwidget_deselect(widget);
}
bool jwidget_is_visible(JWidget widget)
{
assert_valid_widget(widget);
@ -526,18 +514,9 @@ bool jwidget_is_disabled(JWidget widget)
return false;
}
bool jwidget_is_selected(JWidget widget)
bool Widget::isSelected() const
{
assert_valid_widget(widget);
return (widget->flags & JI_SELECTED) ? true: false;
}
bool jwidget_is_deselected(JWidget widget)
{
assert_valid_widget(widget);
return !(jwidget_is_selected(widget));
return (this->flags & JI_SELECTED) ? true: false;
}
/**********************************************************************/

View File

@ -85,16 +85,11 @@ void jwidget_show(JWidget widget);
void jwidget_hide(JWidget widget);
void jwidget_enable(JWidget widget);
void jwidget_disable(JWidget widget);
void jwidget_select(JWidget widget);
void jwidget_deselect(JWidget widget);
void jwidget_set_selected(JWidget widget, bool state);
bool jwidget_is_visible(JWidget widget);
bool jwidget_is_hidden(JWidget widget);
bool jwidget_is_enabled(JWidget widget);
bool jwidget_is_disabled(JWidget widget);
bool jwidget_is_selected(JWidget widget);
bool jwidget_is_deselected(JWidget widget);
/* children handle */
@ -252,8 +247,8 @@ public:
// selected
bool isSelected() { return jwidget_is_selected(this); }
void setSelected(bool state) { jwidget_set_selected(this, state); }
bool isSelected() const;
void setSelected(bool state);
// font

View File

@ -509,7 +509,7 @@ void jstandard_theme::draw_button(JWidget widget, JRect clip)
bg = COLOR_FACE;
/* selected */
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
fg = COLOR_BACKGROUND;
bg = COLOR_SELECTED;
@ -575,13 +575,13 @@ void jstandard_theme::draw_button(JWidget widget, JRect clip)
/* icon */
if (icon_bmp) {
if (jwidget_is_selected(widget))
if (widget->isSelected())
jrect_displace(&icon, 1, 1);
/* enabled */
if (jwidget_is_enabled(widget)) {
/* selected */
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
jdraw_inverted_sprite(ji_screen, icon_bmp, icon.x1, icon.y1);
}
/* non-selected */
@ -763,7 +763,7 @@ void jstandard_theme::draw_listitem(JWidget widget, JRect clip)
bg = COLOR_FACE;
fg = COLOR_DISABLED;
}
else if (jwidget_is_selected(widget)) {
else if (widget->isSelected()) {
bg = COLOR_SELECTED;
fg = COLOR_BACKGROUND;
}
@ -840,8 +840,8 @@ void jstandard_theme::draw_menuitem(JWidget widget, JRect clip)
/* background */
rectfill(ji_screen, x1, y1, x2, y2, bg);
/* draw an indicator for selected items */
if (jwidget_is_selected (widget)) {
// Draw an indicator for selected items
if (widget->isSelected()) {
BITMAP *icon = icons_bitmap[ICON_MENU_MARK];
int x = widget->rc->x1+4-icon->w/2;
int y = (widget->rc->y1+widget->rc->y2)/2-icon->h/2;
@ -1095,7 +1095,7 @@ void jstandard_theme::draw_slider(JWidget widget, JRect clip)
rect(ji_screen, x1, y1, x2, y2, bg);
/* 3rd border */
if (!jwidget_is_selected (widget)) {
if (!widget->isSelected()) {
c1 = COLOR_BACKGROUND;
c2 = COLOR_DISABLED;
}
@ -1242,7 +1242,7 @@ void jstandard_theme::draw_view_scrollbar(JWidget widget, JRect clip)
u1, v1, u2, v2, get_bg_color(widget));
/* 1st border */
if (jwidget_is_selected(widget))
if (widget->isSelected())
jrectedge(ji_screen, u1, v1, u2, v2,
COLOR_DISABLED, COLOR_BACKGROUND);
else
@ -1347,7 +1347,7 @@ void jstandard_theme::draw_textstring(const char *t, int fg_color, int bg_color,
else
y = rect->y1;
if (jwidget_is_selected (widget)) {
if (widget->isSelected()) {
x += selected_offset;
y += selected_offset;
}
@ -1394,7 +1394,7 @@ void jstandard_theme::draw_icons(int x, int y, JWidget widget, int edge_icon)
{
draw_sprite(ji_screen, icons_bitmap[edge_icon], x, y);
if (jwidget_is_selected(widget))
if (widget->isSelected())
draw_sprite(ji_screen, icons_bitmap[edge_icon+1], x, y);
}
@ -1428,15 +1428,15 @@ static bool theme_button_msg_proc(JWidget widget, JMessage msg)
case JM_KEYPRESSED:
if (msg->key.scancode == KEY_ESC) {
jwidget_select(widget);
widget->setSelected(true);
return true;
}
break;
case JM_KEYRELEASED:
if (msg->key.scancode == KEY_ESC) {
if (jwidget_is_selected(widget)) {
jwidget_deselect(widget);
if (widget->isSelected()) {
widget->setSelected(false);
jwidget_close_window(widget);
return true;
}

View File

@ -631,7 +631,7 @@ void SkinneableTheme::draw_button(JWidget widget, JRect clip)
isMiniLook = skinPropery->isMiniLook();
// selected
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
fg = get_button_selected_text_color();
bg = get_button_selected_face_color();
part_nw = isMiniLook ? PART_TOOLBUTTON_NORMAL_NW:
@ -676,7 +676,7 @@ void SkinneableTheme::draw_button(JWidget widget, JRect clip)
// icon
if (icon_bmp) {
if (jwidget_is_selected(widget))
if (widget->isSelected())
jrect_displace(&icon,
get_button_selected_offset(),
get_button_selected_offset());
@ -684,7 +684,7 @@ void SkinneableTheme::draw_button(JWidget widget, JRect clip)
// enabled
if (jwidget_is_enabled(widget)) {
// selected
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
jdraw_inverted_sprite(ji_screen, icon_bmp, icon.x1, icon.y1);
}
// non-selected
@ -729,8 +729,8 @@ void SkinneableTheme::draw_check(JWidget widget, JRect clip)
/* icon */
set_alpha_blender();
draw_trans_sprite(ji_screen,
jwidget_is_selected(widget) ? m_part[PART_CHECK_SELECTED]:
m_part[PART_CHECK_NORMAL],
widget->isSelected() ? m_part[PART_CHECK_SELECTED]:
m_part[PART_CHECK_NORMAL],
icon.x1, icon.y1);
// draw focus
@ -860,7 +860,7 @@ void SkinneableTheme::draw_listitem(JWidget widget, JRect clip)
bg = COLOR_FACE;
fg = COLOR_DISABLED;
}
else if (jwidget_is_selected(widget)) {
else if (widget->isSelected()) {
fg = get_listitem_selected_text_color();
bg = get_listitem_selected_face_color();
}
@ -938,7 +938,7 @@ void SkinneableTheme::draw_menuitem(JWidget widget, JRect clip)
rectfill(ji_screen, x1, y1, x2, y2, bg);
/* draw an indicator for selected items */
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
BITMAP* icon = m_part[jwidget_is_enabled(widget) ? PART_CHECK_SELECTED:
PART_CHECK_DISABLED];
@ -1040,8 +1040,8 @@ void SkinneableTheme::draw_radio(JWidget widget, JRect clip)
/* icon */
set_alpha_blender();
draw_trans_sprite(ji_screen,
jwidget_is_selected(widget) ? m_part[PART_RADIO_SELECTED]:
m_part[PART_RADIO_NORMAL],
widget->isSelected() ? m_part[PART_RADIO_SELECTED]:
m_part[PART_RADIO_NORMAL],
icon.x1, icon.y1);
// draw focus
@ -1274,7 +1274,7 @@ void SkinneableTheme::draw_combobox_button(JWidget widget, JRect clip)
int fg, bg, part_nw;
/* with mouse */
if (jwidget_is_selected(widget) ||
if (widget->isSelected() ||
(jwidget_is_enabled(widget) && widget->hasMouseOver())) {
fg = get_button_hot_text_color();
bg = get_button_hot_face_color();
@ -1305,7 +1305,7 @@ void SkinneableTheme::draw_combobox_button(JWidget widget, JRect clip)
icon.x2 = icon.x1 + icon_bmp->w;
icon.y2 = icon.y1 + icon_bmp->h;
if (jwidget_is_selected(widget))
if (widget->isSelected())
jrect_displace(&icon,
get_button_selected_offset(),
get_button_selected_offset());
@ -1478,7 +1478,7 @@ void SkinneableTheme::draw_textstring(const char *t, int fg_color, int bg_color,
else
y = rect->y1;
if (jwidget_is_selected (widget)) {
if (widget->isSelected()) {
x += selected_offset;
y += selected_offset;
}
@ -1725,15 +1725,15 @@ bool SkinneableTheme::theme_frame_button_msg_proc(JWidget widget, JMessage msg)
case JM_KEYPRESSED:
if (msg->key.scancode == KEY_ESC) {
jwidget_select(widget);
widget->setSelected(true);
return true;
}
break;
case JM_KEYRELEASED:
if (msg->key.scancode == KEY_ESC) {
if (jwidget_is_selected(widget)) {
jwidget_deselect(widget);
if (widget->isSelected()) {
widget->setSelected(false);
jwidget_close_window(widget);
return true;
}

View File

@ -232,7 +232,7 @@ static void colorbutton_draw(JWidget widget)
color_t color;
// When the button is pushed, show the negative
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
color = color_rgb(255-color_get_red(colorbutton->color),
255-color_get_green(colorbutton->color),
255-color_get_blue(colorbutton->color));

View File

@ -338,7 +338,7 @@ static void colorselector_set_color2(JWidget widget, color_t color,
// // Select the RGB button
// jwidget_select(colorselector->rgb_button);
jwidget_select(colorselector->model_buttons[m->model]);
colorselector->model_buttons[m->model]->setSelected(true);
// Call the hook
select_model_hook(widget, (void*)m);

View File

@ -77,7 +77,7 @@ JWidget group_button_new(int w, int h, int first_selected, ...)
HOOK(radio, JI_SIGNAL_RADIO_CHANGE, radio_change_hook, vbox);
if (c == first_selected)
jwidget_select(radio);
radio->setSelected(true);
if (hbox)
jwidget_add_child(hbox, radio);
@ -111,7 +111,7 @@ void group_button_select(JWidget group, int index)
JWidget sel = find_selected(group);
if (!sel || (size_t)sel->user_data[1] != index) {
jwidget_deselect(sel);
sel->setSelected(false);
select_button(group, index);
}
}
@ -121,7 +121,7 @@ static JWidget find_selected(JWidget widget)
JWidget sel;
JLink link;
if (jwidget_is_selected(widget))
if (widget->isSelected())
return widget;
else {
JI_LIST_FOR_EACH(widget->children, link)
@ -138,7 +138,7 @@ static int select_button(JWidget widget, int index)
if (widget->type == JI_RADIO) {
if ((size_t)widget->user_data[1] == index) {
jwidget_select(widget);
widget->setSelected(true);
return true;
}
}

View File

@ -468,9 +468,9 @@ static bool tabs_button_msg_proc(JWidget widget, JMessage msg)
else if (msg->signal.num == JI_SIGNAL_DISABLE) {
assert(tabs != NULL);
if (jwidget_is_selected(widget)) {
if (widget->isSelected()) {
jmanager_stop_timer(tabs->getTimerId());
jwidget_deselect(widget);
widget->setSelected(false);
}
return true;
}

View File

@ -138,10 +138,7 @@ void target_button_set_target(JWidget widget, int target)
#define ACTIVATE_TARGET(name, TARGET) \
w = jwidget_find_name(widget, name); \
if (w != NULL) { \
if ((target & TARGET) == TARGET) \
jwidget_select(w); \
else \
jwidget_deselect(w); \
w->setSelected((target & TARGET) == TARGET); \
}
ACTIVATE_TARGET("r", TARGET_RED_CHANNEL);
@ -171,7 +168,7 @@ static bool channel_change_hook(JWidget widget, void *data)
return true;
}
if (jwidget_is_selected(widget))
if (widget->isSelected())
target |= flag;
else
target &= ~flag;