function varargout = napoveda(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @help_OpeningFcn, ...
                   'gui_OutputFcn',  @help_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end

% Obsah nápovědy
function help_OpeningFcn(hObject, eventdata, handles, varargin)
helptext=['<html><body>'...
          '<h1>Princip ovládání programu:</h1>'...
          '<p>Při zadávání údajů je nutné používat desetinnou tečku.</p>'...           
          '<h2>Část Charkteristika hřídele</h2>'...
          '<p><b>Údaje v této části je nutné vyplnit před zadáváním prvků.</b></p>'...         
          '<ol>'...
              '<li>zadat Youngův modul v MPa</li>'...
              '<li>zadat hustotu v kg/m<sup>3</sup></li>'...
              '<li>zvolit, jestli je hřídel hmotná nebo ne, neboli počítáme-li s gravitačním zrychlením</li>'...
              '<li>při zaškrtnutí výpočtu kritických otáček je nutné zadat i pásmo otáček v min<sup>-1</sup><br />'...
                  '<ul>'...
                      '<li>tento údaj udává, do jaké maximální hodnoty otáček se mají testovat kritické otáčky</li>'...
                      '<li>údaj je zaokrouhlen na nahoru na stovky</li>'...
                      '<li>pokud se hodnota údaje po zadání prvků zmenší, výpočet proběhne pro menší pásmo otáček</li>'...
                      '<li>pokud se hodnota údaje po zadání prvků zvětší, výpočet neproběhne</li>'...
                  '</ul>'...
              '</li>'...
              '<li>zvolit okrajové podmínky hřídele</li>'...
          '</ol>'...
          ''...
          '<h2>Část Geometrie</h2>'...
          '<ol start="6">'...
              '<li>vybrat prvek a zadat jeho údaje:<br />'...
                  '<ul>'...
                      '<li>Prvek hřídele<br />'...
                          '<ul>'...
                              '<li type="square">zadat délku a průměr v mm</li>'...
                          '</ul>'...
                      '</li>'...
                      '<li>Prvek hřídele s přídavnou hmotou<br />'...
                          '<ul>'...
                              '<li type="square">zadat délku a průměr v mm</li>'...
                              '<li type="square">zadat hmotnost přídavné hmoty v kg</li>'...
                              '<li type="square">zadat délku části hřídele s přídavnou hmotou v mm</li>'...
                          '</ul>'...
                      '</li>'...
                      '<li>Skoková změna příčné síly<br />'...
                          '<ul>'...
                              '<li type="square">zadat velikost síly v N</li>'...
                          '</ul>'...
                      '</li>'...
                      '<li>Pružná podpora<br />'...
                          '<ul>'...
                              '<li type="square">zadat tuhost v N/m</li>'...
                          '</ul>'...
                      '</li>'...
                      '<li>Prvek s magnetickým tahem<br />'...
                          '<ul>'...
                              '<li type="square">zadat délku a průměr v mm</li>'...
                              '<li type="square">zadat magnetický tah v N/m</li>'...
                              '<li type="square">zadat počet částí, na které se při výpočtu dělí prvek s magnetickým tahem</li>'...
                          '</ul>'...
                      '</li>'...
                      '<li>Prvek s magnetickým tahem a přídavnou hmotou<br />'...
                          '<ul>'...
                              '<li type="square">zadat délku a průměr v mm</li>'...
                              '<li type="square">zadat hmotnost přídavné hmoty v kg</li>'...
                              '<li type="square">zadat délku části hřídele s přídavnou hmotou v mm</li>'...
                              '<li type="square">zadat magnetický tah v N/m</li>'...
                              '<li type="square">zadat počet částí, na které se při výpočtu dělí prvek s magnetickým tahem</li>'...
                          '</ul>'...
                     '</li>'...
                     '<li>Disk<br />'...
                         '<ul>'...
                             '<li type="square">zadat moment setrvačnosti disku v kg*m<sup>2</sup></li>'...
                             '<li type="square">zadat hmotnost disku v kg</li>'...
                         '</ul>'...
                     '</li>'...
                     '<li>Ložisko<br />'...
                         '<ul>'...
                             '<li type="square">zadat tuhost ložiska (k) v N/m</li>'...
                             '<li type="square">zadat tlumení ložiska (c) v N*s/m</li>'...
                             '<li type="square">zadat hmotnost kroužku ložiska (M) v kg</li>'...
                             '<li type="square">zadat tuhost kroužku ložiska (kk) v N/m</li>'...
                             '<li type="square">zadat tlumení kroužku ložiska (cc) v N*s/m</li>'...
                             '<li type="square">pokud je ložisko nalisované, pak nevyplňovat kk nebo zadat kk=Inf, cc=0 a M=0</li>'...
                             '<li type="square">není-li uvažována hmotnost kroužku, pak zadat M=0</li>'...
                        '</ul>'...
                     '</li>'...
                 '</ul>'...
             '</li>'...
             '<li>přidat prvek</li>'...
             '<li>poskládat takto celou hřídel</li>'...
             '<li>při chybě lze odebrat vždy poslední prvek</li></ol>'...
          '<h2>Manipulační tlačítka</h2>'...
               '<ul>'...
                   '<li>Tlačítko Průhybová čára (Ctrl+T)<br />'...
                       '<ul>'...
                           '<li type="square">výpočet průhybové čáry a reakcí ve vazbách (pružných podporách)</li>'...
                           '<li type="square">zobrazení grafu průhybové čáry</li>'...
                       '</ul>'...
                   '</li>'...
                   '<li>Tlačítko Kritické otáčky (Ctrl+K)<br />'...
                       '<ul>'...
                           '<li type="square">zobrazené pouze při zaškrtnutém boxu z bodu 4</li>'...
                           '<li type="square">výpočet kritických otáček</li>'...
                           '<li type="square">zobrazení grafu kritických otáček</li>'...
                       '</ul>'...
                   '</li>'...
                   '<li>Tlačítko Uložit data (Ctrl+S)<br />'...
                       '<ul>'...
                           '<li type="square">uložit zadaná data hřídele do souboru .mat</li></ul></li>'...
                   '<li>Tlačítko Načíst data (Ctrl+O)<br />'...
                       '<ul>'...
                           '<li type="square">vymazat všechna zadaná data a načíst nové hodnoty ze souboru .mat</li>'...
                       '</ul>'...
                   '</li>'...
                   '<li>Tlačítko Reset (Ctrl+R)<br />'...
                      '<ul>'...
                          '<li type="square">vymazat všechna zadaná data</li>'...
                      '</ul>'...
                   '</li>'...
                   '<li>Tlačítko Ukončit (Ctrl+Q)<br />'...
                      '<ul>'...
                          '<li type="square">ukončit program</li>'...
                      '</ul>'...
                   '</li>'...
              '</ul>'...
          '<h2>Reprezentace výsledků</h2>'...
          '<p>Po stisknutí tlačítek výpočtu (<i>Průhybová čára</i> a <i>Kritické otáčky</i>) se zobrazí okno,'... 
          've kterém je zobrazen graf, a prvních 14 hodnot reakcí ve vazbách nebo kritických otáček. Zároveň je možné'... 
          'nechat si vypsat hodnoty textově pro další zpracování (tlačítko Textový výpis).</p><br />'...
          '<h2>Nový výpočet</h2>'...
          '<p>Pokud chcete u hřídele změnit pouze Youngův modul, hustotu nebo gravitační zrychlení'...
          ' a zachovat geometrii, je to možné, ale pouze pro výpočet průhybové čáry. Stačí směnit požadovaný údaj/e'...
          'a stisknout tlačítko Průhybová čára. Provede se výpočet s novými parametry.</p><br />'...
          '</body></html>'];

je = javax.swing.JEditorPane('text/html', helptext);
jp = javax.swing.JScrollPane(je);
[hcomponent, hcontainer] = javacomponent(jp, [], gcf);
set(hcontainer,'units','normalized','position',[0,0,1,1]);
 
java.lang.System.setProperty('awt.useSystemAAFontSettings', 'on');
je.setFont(java.awt.Font('MS Sans Serif', java.awt.Font.PLAIN, 13));
je.putClientProperty(javax.swing.JEditorPane.HONOR_DISPLAY_PROPERTIES, true);
 
property = com.jidesoft.swing.JideSwingUtilities.AA_TEXT_PROPERTY_KEY;
je.putClientProperty(property, true);

handles.output = hObject;
guidata(hObject, handles);

function varargout = help_OutputFcn(hObject, eventdata, handles) 
varargout{1} = handles.output;
