То, что я ищу, - это способ CA динамически планировать окно. Представьте себе следующий SQL-запрос в окне, каждое имя которого между + PLUSSIGNS + является NSPopUpButton, остальные - статический текст.
Выберите *
от + BURRITOS / TACOS1 + + AND / OR1 +
+ BURRITOS / TACOS2 + + AND / OR2 +
Где
+ TOPPING1 + + EQUALS / LT / GT1 + + TOPPINGLIST1 + + AND / OR3 +
+ TOPPING2 + + EQUALS / LT / GT2 + + TOPPINGLIST2 + + AND / OR4 +
ОК: окно начинает показывать метки "Select *" и "from" в виде простого текста, а BURRITOS / TACOS1 выбирается как "-" вместо действительного значения.
Когда я устанавливаю BURRITOS / TACOS1 на допустимое значение (BURRITOS), я хочу, чтобы появлялась кнопка AND / OR1 NSPopUpButton, выбранная в «-». Я также хочу, чтобы появился ярлык «Куда», и я хочу, чтобы «TOPPING1», «EQUALS / LT / GT1», «TOPPINGLIST1» появился. Все 3 из них будут выбраны как «-».
Когда я ставлю AND / OR1 на допустимое значение (AND или OR), я хочу, чтобы появился BURRITOS / TACOS2. Если я выберу это значение, я хочу, чтобы появилось AND / OR2. Если я установлю это значение, я хочу, чтобы появилось BURRITOS / TACOS3 ....
Если я установлю TOPPING1, EQUALS / LT / GT1 и TOPPINGLIST1 на допустимые значения, я хочу, чтобы AND / OR3 отображался (как «-»). Если для AND / OR3 установлено допустимое значение, я хочу, чтобы отобразились TOPPING2, EQUALS / LT / GT2, TOPPINGLIST2. Если я установлю для них допустимые значения, я хочу, чтобы появилось AND / OR4 ...
Если, например, AND / OR3 установлен на - и под ним была строка, я бы хотел, чтобы вся эта строка исчезла.
В нижней части всего окна мне нужен статический флажок «включить», всегда появляется. Я также хочу кнопку со стрелкой влево и вправо - щелчок влево заставит все окно «перевернуться» влево. Если щелкнуть вправо, все окна будут «перевернуты» вправо для новых запросов.
Мне бы хотелось, чтобы эти новые NSPopUpButtons выглядели аналогично Mail.app, где новая текстовая запись для CC BCC и т. Д. Появляется в зависимости от ваших настроек с помощью этого элемента управления средства выбора.