Scilab/Знакомство с пользовательским интерфейсом

В этом разделе мы познакомимся с интерфейсом пользователя. Пользовательский интерфейс мы рассмотрим из-под Windows (пусть это вас не пугает, так как принципы едины во всех операционных системах). На рисунке 1 показан интерфейс программы, начиная с версии 5.4.

Рисунок 1 Пользовательский интерфейс в Windows 7

На рисунке 1 вы можете наблюдать, что внутри большого окна располагается ещё 4 более мелких:

  • Обозреватель файлов;
  • Командное окно;
  • Обозреватель переменных;
  • Журнал команд.

В каждый момент времени активным может быть только одно из видимых окон и признаком этого служит подсвеченный заголовок. На рисунке 1 активным является окно Командное окно. Отметим, что все окна не привязаны жёстко друг к другу и могут быть исключены из основного окна или заново перегруппированы.

Условно назовём вид, представленный на рисунке 1, группой окон. В любой момент каждое окно может быть исключено из группы путём нажатия на командную кнопку Исключить (англ. Undock), которая представлена в виде кнопки со стрелочкой, стоящей между кнопками Справка (англ. Help on component) и Закрыть (англ. Close) на заголовке окна (см. рисунок 1). После исключения, окно может быть перемещено в любую точку рабочего стола.

Чтобы перегруппировать окна, необходимо ухватить заголовок окна, зажимая левую кнопку мышки, и перетащить курсор в желаемую позицию. «Фантом» в виде серой рамки будет подсказывать как встанет окно, если вы отпустите левую кнопку мыши, и здесь возможны следующие варианты:

  • если вы попали курсором в какое-то окно группы, то перемещаемое окно поделит область по горизонтали пополам и займет свою позицию;
  • то же, что и в предыдущем пункте, но по вертикали;
  • окно не будет ничего разбивать, а просто вложится. В этом случае внизу появятся вкладки.

Исключённое окно может быть включено в любую группу. Для этого нужно захватить её заголовок и выполнить те же действия. Очень важно то, что хватать нужно не внешний заголовок окна, который генерируется операционной системой, а внутренний заголовок, на котором есть элементы управления Справка, Исключить и Закрыть.

Перегруппировка требует практики, так как тот или иной вариант будет предложен в определенной позиции курсора. Попрактикуйтесь немного и выполните следующее упражнение.

Упражнение

Выполните следующее:

  1. Сделайте активным Командное окно;
  2. Введите команду
    --> scinotes();
    
    и нажмите клавишу <Enter> (не уделяйте её смыслу пока особого внимания). Перед вами должно появится окно встроенного текстового редактора SciNotes;
  3. Нажмите клавишу <F1> и перед вами появится окно со справкой;
  4. Имея текущий набор окон, перегруппируйте их так, как показано на рисунке ниже. а затем верните все в прежний вид (как показано на рисунке 1).

Вы могли убедиться, когда переключались между окнами, что среда обладает незамысловатым интерфейсом и содержит минимум элементов, что идёт только в плюс программе. Переключаясь на определенное окно вы можете заметить, что изменяется панель с инструментами группы и строка меню под это окно. В целом нет надобности расписывать каждую кнопку, так как всё интуитивно просто и понятно. Рекомендую читателю посмотреть все настройки, которые предоставляются пользователю в графическом режиме. Для этого:

  1. Сделайте активным Командное окно;
  2. Затем вверху выберите Правка (англ. Edit);
  3. В раскрывшемся меню нажмите на Настройки.

Коротко рассмотрим назначение каждого окна.

Командное окно править

Командное окно — самое главное окно, посредством которого происходит общение со средой. В данное окно пользователь вводит команды и получает результаты.

На рисунке 1 в командном окне можно наблюдать техническую информацию о загрузке окружения, после которой система приглашает пользователя ввести команду. Начало строчки сопровождается стрелкой, указывающей направо (-->), которая и называется приглашением (англ. prompt или command prompt). Попробуйте ввести следующий код

-->2*2+69/25

В ответ от интерпретатора вы получите следующее

-->2*2+69/25
ans  =
   6.76

Другими словами, вы передали среде алгебраическое выражение, которое было ей рассчитано, а результат помещён в автоматически создаваемую переменную ans, с которой мы познакомимся позднее. Введя эту команду, вы внесли переполох в оставшихся окнах.

Перед тем как мы перейдём на следующее окно, введите вторую команду.

--> myVariable=26;

Этой командой вы попросили среду выделить память под новую переменную с именем myVariable и присвоить ей значение 26. Обратите внимание на точку с запятой в конце команды. Введя этот символ, вы попросили интерпретатор не выводить информацию о результате, получаемом после команды, к которой приставляется точка с запятой.

Например, попробуйте ввести

--> anotherVariable=31

и вы получите ответ, что присваивание прошло

--> anotherVariable=31
anotherVariable=
     31.

Блокирование вывода результата бывает полезным в случаях, когда результат оказывается очень большим, тривиальным или неудобным для изучения.

Обозреватель переменных править

 
Рисунок 2 Окно обозревателя переменных

Это окно появилось относительно недавно и призвано облегчить работу с объектами, которые создал пользователь. Если вы попробовали ввести предыдущие команды, то можете наблюдать результат, показанный на рисунке 2.

В этом окне отображается вся необходимая информация о созданных переменных в частности:

  • имя переменной;
  • размер переменной;
  • тип переменной или другими словами тип данных, которая эта переменная в настоящий момент хранит;
  • видимость переменной.

Нажав по переменной дважды откроется окно редактора переменных, которое показано на рисунке 3.

 
Рисунок 3 Окно редактора переменных

Редактор переменных — это ещё одно новшество. Вероятно вы спросите, почему в редакторе переменная представлена таблицей, на что вам будет дан вполне внятный ответ:

Все объекты в среде Scilab являются двухмерными массивами, в лучших традициях MATLAB, частичной копией которого является Scilab.

Переменные, которые были нами созданы ранее, являются просто-напросто вырожденным случаем — массивом с одним элементом. Мы ещё не раз вернемся к этому вопросу, а пока внимательно рассмотрите редактор переменных.

На рисунке 3 показана переменная myVariable, которой было присвоено значение 26. Поменяйте значение переменной дважды щёлкнув по значению 26 и введя, к примеру, 51, а затем нажмите клавишу <Enter> или щёлкните в любом другом месте окна.

О том, что значение переменной изменилось, вы уже можете узнать из командной строки. Сделайте активным окно командной строки и введите имя нашей переменной, т.е.

-->myVariable
myVariable =
      51.

Конечно показанный способ редактирования переменной является не самым рациональным, так как редактировать массив с одним полем проще всего из той же командной строки. Редактор же используется в случаях, когда необходимо редактировать большие массивы.

Не бойтесь, если вы пока ничего не понимаете. Мы ещё не раз вернемся ко всем этим вопросам.

Всё, что вы сейчас видите в этом окне — вершина айсберга. За этой вершиной скрывается ещё целая куча системных переменных, которые регулируют работу окружения и часть которых пользователь может контролировать. Чтобы их увидеть в окне, сделайте следующее:

  1. Сделайте активным окно Обозреватель переменных;
  2. На панели меню вверху выберите пункт Фильтр (англ. Filter);
  3. В раскрывшемся меню снимите галочку с пункта Скрывать системные переменные.

Рассмотрите эти переменные, но ни в коем случае не пробуйте их редактировать.

Журнал команд править

 
Рисунок 4 Окно журнала команд

Окно журнала команд отражает все команды, которые вводил пользователь в командную строку в течении текущего сеанса. На рисунке 4 показано окно журнала команд. Содержимое окна рисунка 4 может отличаться от вашего, так как автор при написании викиучебника то и делал, что отвлекался.

Вы можете видеть записи последнего сеанса, которые отражают все введенные нами команды. Все журналы бережно сохраняются средой, чтобы вы могли вспомнить и восстановить команды, которые вводили ранее. Это может быть полезным, если вы забыли сохранить коды и завершили сеанс или, другой пример, если вы ввели очень длинную команду ранее, а теперь вам нужно ввести похожую, но лишь с небольшой разницей, или если сеанс был прерван из-за плохо отлаженного модуля, а команды вам ещё нужны.

Тем не менее, если вам не нужны журналы, вы всегда их можете удалить или очистить, воспользовавшись командами меню.