Разработка графического пользовательского интерфейса в среде MATLAB. Бадриев И.Б - 75 стр.

UptoLike

7 Ïîñòðîåíèå íåñêîëüêèõ ãðàôèêîâ                                75


rb_right. Îáðàòèì Âàøå âíèìàíèå íà ñâîéñòâî 'UserData',
ïðåäíàçíà÷åííîå äëÿ ñîõðàíåíèÿ äàííûõ ïîëüçîâàòåëÿ.
  Îïèøåì èäåþ àëãîðèòìà. Ñíà÷àëà â ôóíêöèè îòêðûòèÿ îê-
íà ïðè ïîìîùè ôóíêöèè set ñîõðàíèì â ñâîéñòâî 'UserData'
ïðàâîãî è ëåâîãî ïåðåêëþ÷àòåëÿ (rb_left è rb_right) óêà-
çàòåëü íà ïðàâóþ è ëåâóþ îñè. Ïðè âîçíèêíîâåíèè ñîáû-
òèÿ Callback ó îáúåêòà "êíîïêà Ïîñòðîèòü", â òåëå ôóíê-
öèè btnPlot_Callback, ìû èç ñâîéñòâà SelectedObject, ïîëó÷èì
óêàçàòåëü íà âûáðàííûé îáúåêò:
  (get(handles.pnl_axes,'SelectedObject'));

Çàòåì,   èñïîëüçóÿ   ïîëó÷åííûé     óêàçàòåëü,   ó   âûáðàííî-
ãî îáúåêòà ïîëó÷èì çíà÷åíèå ñâîéñòâà 'UserData', ñî-
äåðæàùåãî óêàçàòåëü íà îñü, è cäåëàåì îñü òåêóùåé
ïðè ïîìîùè êîìàíäû axes. Òàêèì îáðàçîì, äåëàòü âû-
áðàííûå îñè òåêóùèìè ìîæíî ïðè ïîìîùè êîìàíäû:
axes(get(get(handles.pnl_axes,'SelectedObject'),'UserData'));

  Äëÿ òîãî, ÷òîáû çàäàâàòü öâåò è òîëùèíó ëèíèè ïîñëå òî-
ãî, êàê ãðàôèê áûë ïîñòðîåí, íåîáõîäèìî ñîõðàíÿòü óêàçàòåëè
íà ïîñòðîåííûå ëèíèè. Ñ ýòîé öåëüþ, ïðè ïîñòðîåíèè ãðàôè-
êà ôóíêöèè â ñòðóêòóðó handles äîáàâèì íîâîå ïîëå, êîòî-
ðîå áóäåò ñîäåðæàòü óêàçàòåëè íà ãðàôèêè, à òàêæå íàçâàíèå
ôóíêöèè:
  if isfield(handles,'myplot')