On Saturday, 25 June 2016 at 21:57:35 UTC, TheDGuy wrote:
But i want to flash (e.g. change the CSS class) the buttons one by one and not all at the sime time? How am i going to do that?

Okay, i tried it with a new private int-variable which contains the current index of the for-loop, like this:

    private void letButtonsFlash(){
        foreach(Button btn;bArr){
            btn.setSensitive(false);
        }
        for(int i = 0; i < level; i++){
            index = i; //index is public
            Button currentButton = bArr[rndButtonBlink[i]];
ListG list = currentButton.getStyleContext().listClasses(); string CSSClassName = to!string(cast(char*)list.next().data); currentButton.getStyleContext().addClass(CSSClassName ~ "-flash");
            Timeout t = new Timeout(&timeout_delay,1,false);
        }

        foreach(Button btn;bArr){
            btn.setSensitive(true);
        }
    }
    bool timeout_delay(){
        Button currentButton = bArr[rndButtonBlink[index]];
ListG list = currentButton.getStyleContext().listClasses(); string CSSClassName = to!string(cast(char*)list.next().data); currentButton.getStyleContext().removeClass(CSSClassName ~ "-flash");
        return false;
    }

But now the strange thing happens, that the first button lights up as expected but the second button remains at its "flash color" and doesn't go back to normal color, i don't understand why this happens? Any ideas?

Reply via email to