Pattern for UI configuration

Posted by TERACytE on Stack Overflow See other posts from Stack Overflow or by TERACytE
Published on 2010-04-13T21:21:58Z Indexed on 2010/04/13 21:23 UTC
Read the original article Hit count: 273

Filed under:
|
|
|
|

I have a Win32 C++ program that validates user input and updates the UI with status information and options. Currently it is written like this:

void ShowError() {
    SetIcon(kError);
    SetMessageString("There was an error");
    HideButton(kButton1);
    HideButton(kButton2);
    ShowButton(kButton3);
}

void ShowSuccess() {
    SetIcon(kError);

    std::String statusText (GetStatusText());
    SetMessageString(statusText);

    HideButton(kButton1);
    HideButton(kButton2);
    ShowButton(kButton3);
}

// plus several more methods to update the UI using similar mechanisms

I do not likes this because it duplicates code and causes me to update several methods if something changes in the UI.

I am wondering if there is a design pattern or best practice to remove the duplication and make the functionality easier to understand and update.

I could consolidate the code inside a config function and pass in flags to enable/disable UI items, but I am not convinced this is the best approach.

Any suggestions and ideas?

© Stack Overflow or respective owner

Related posts about ui

Related posts about design