// c'tor
        public TextDialog(Color color, TextDialogButtons buttons)
        {
            this.buttons = buttons;

            // Create sub objects
            shared = new Shared(this);

            // Create the RenderObject and UpdateObject parts of this mode.
            updateObj = new UpdateObj(this, shared);
            renderObj = new RenderObj(shared);

            // Set default button labels
            SetButtonText(TextDialogButtons.Accept, Strings.Localize("textDialog.accept"));
            SetButtonText(TextDialogButtons.Cancel, Strings.Localize("textDialog.cancel"));
            SetButtonText(TextDialogButtons.Discard, Strings.Localize("textDialog.discard"));
        }   // end of TextDialog c'tor
 public void SetButtonText(TextDialogButtons button, string text)
 {
     buttonText[MyMath.HighBitPos((int)button)] = text;
     shared.dirty = true;
 }
        }   // end of TextDialog c'tor

        public string ButtonText(TextDialogButtons button)
        {
            return(buttonText[MyMath.HighBitPos((int)button)]);
        }