Вам нужно будет изучить Objective-C и Какао независимо от того, что еще вы хотите сделать, потому что не существует «одного вызова на системном уровне» для представления модальной панели.
Как минимум, выдля вашей панели потребуется создать подкласс NSWindowController, который будет действовать как владелец файла для своего nib-файла и управлять взаимодействием между его элементами управления и любыми данными, которыми он манипулирует.Затем вам нужно будет передать это -[NSApplication runModalForWindow:]
и обработать результат, или -[NSApplication beginModalSessionForWindow:]
и обработать запуск и / или остановку модального сеанса самостоятельно.
Это означает написание кода для каркасов Cocoa в Objective-C.
К счастью, поскольку вы только начинаете с сообщения, текстового поля и пары кнопок, это будет довольно просто.Но дело не только в гипотетической NSGetTextInput()
функции - какао отказывается от таких вещей в пользу абстракций, которые можно соединить между собой простым и расширяемым способом.
Например, если вы решили, что не простонужен ввод текста, но также и флажок, вам придется заменить гипотетический NSGetTextInput()
на что-то вроде выше.Но, прежде всего, делая вышеописанное, добавление этого флажка становится дополнительной работой за несколько секунд.Или добавив интересную проверку в ваш текстовый ввод.Или предварительно заполняя ввод текста данными из объекта.Или реализация тайм-аута (включая представление таймера обратного отсчета) в вашем модальном диалоге.(Модальность в настоящее время сильно не одобряется ...) Или любые другие изменения.