<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY appversion "1.3">
  <!ENTITY manrevision "0.7">
  <!ENTITY date "Kwiecień 2007">
  <!ENTITY app "<application>PyConverter</application>">
]>
<!-- =============Document Header ============================= -->
<article id="index" lang="pl">
<!-- please do not change the id; for translations, change lang to -->
<!-- appropriate code -->
  <articleinfo> 
    <title>Instrukcja obsługi programu &app; V&manrevision;</title>       

    <copyright> 
      <year>2007</year> 
      <holder>Cezary Krzyżanowski</holder> 
    </copyright> 
<!-- An address can be added to the publisher information.  If a role is 
     not specified, the publisher/author is the same for all versions of the 
     document.  -->
    <publisher> 
      <publishername> PyConverter Documentation Project </publishername> 
    </publisher> 

   <!-- This file  contains link to license for the documentation (GNU FDL), and 
        other legal stuff such as "NO WARRANTY" statement. Please do not change 
	any of this. -->

    <authorgroup> 
      <author> 
		<firstname>Cezary</firstname> 
		<surname>Krzyżanowski</surname> 
		<affiliation> 
	  		<orgname>PLD Linux</orgname> 
	  		<address> <email>czarny@pld-linux.org</email> </address> 
		</affiliation> 
      </author> 
    </authorgroup>

    <releaseinfo>Ta instrukcja opisuje wersję &appversion; programu
        &app;
    </releaseinfo> 
    <!--    <legalnotice> 
      <title>Feedback</title> 
      <para>To report a bug or make a suggestion regarding the &app; application or
      this manual, follow the directions in the <ulink url="ghelp:gnome-feedback"
	  type="help">GNOME Feedback Page</ulink>. 
      </para>
    </legalnotice> -->
  </articleinfo> 

  <indexterm zone="index"> 
    <primary>&app;</primary> 
  </indexterm> 
  <indexterm zone="index"> 
    <primary>&app;</primary> 
  </indexterm>

<!-- ============= Document Body ============================= -->
<!-- ============= Introduction ============================== -->
<!-- Use the Introduction section to give a brief overview of what
     the application is and what it does. -->
  <sect1 id="pyconverter-introduction"> 
    <title>Wstęp</title> 
    <para>&app; Pozwala na konwertowanie różnych form zapisu funkcji
        boolowskich oraz na badanie ich nieliniowości przy pomocy
        kilku algorytmów.
    </para> 
    <itemizedlist> 
      <listitem> 
		<para>Formaty zapisu funkcji wspierane przez &app;:</para> 
		<itemizedlist> 
	  		<listitem> 
	    	<para>FP - Funkcja Przełączająca,</para> 
	  		</listitem> 
	  		<listitem> 
	    	<para>APN - Algebraiczna Postać Normalna,</para> 
	  		</listitem> 
	  		<listitem> 
	    	<para>ZI - Zbiór Implikantów.</para> 
	  		</listitem> 
		</itemizedlist> 
      </listitem> 
      <listitem> 
	    <para>Algorytmy testowania nielinowości wspierane przez &app;:</para> 
            <itemizedlist>
                <listitem>
                    <para>FWT - Szybka transformata Walsha (ang. Fast Walsh
                        Transform)</para>
                </listitem>
            </itemizedlist>
      </listitem> 
    </itemizedlist> 
  </sect1>

<!-- =========== Getting Started ============================== -->
<!-- Use the Getting Started section to describe the steps required
     to start the application and to describe the user interface components
     of the application. If there is other information that it is important
     for readers to know before they start using the application, you should
     also include this information here. 
     If the information about how to get started is very short, you can 
     include it in the Introduction and omit this section. -->

  <sect1 id="pyconverter-getting-started"> 
    <title>Pierwsze kroki</title> 

    <sect2 id="pyconverter-when-start">
    <title>Kiedy uruchomisz &app;</title>
    <para>Po uruchomieniu programu &app;, widoczne jest następujące
        okno:</para>

    <!-- ==== Figure ==== -->
      <figure id="mainwindow-fig"> 
	<title>Główne okno aplikacji</title> 
	<screenshot> 
	  <mediaobject> 
	    <imageobject><imagedata
		fileref="figures/pyconverter_start_window.png" format="PNG"/> 
	    </imageobject>
	    <textobject> 
	      <phrase>Pokazuje okno główne programu &app;. Zawiera pasek
              tytułowy, pasek menu, pasek narzędziowy oraz dwa pola do
              wyświetlania tekstu. Pasek menu zawiera menu Plik, i
              Pomoc. Pasek narzędziowy zawiera następujące przyciski:
              Otwórz, Zapisz, Przekonwertuj, Uruchom test i pomoc.
              Przyciski Zapisz, Przekonwertuj oraz Uruchom test są
              wyłączone.</phrase> 
	    </textobject> 
	  </mediaobject> 
	</screenshot> 
      </figure>
    <!-- ==== End of Figure ==== -->

    <!-- Include any descriptions of the GUI immediately after the screenshot of the main UI, -->
    <!-- for example, the items on the menubar and on the toolbar. This section is optional. -->

    <para>Główne okno aplikacji zawiera następujące elementy:
    </para>
      <variablelist>
	<varlistentry>
	<term>Pasek menu. </term>
	<listitem>
        <para>Ten pasek zawiera menu z poleceniami jakie obsługuje &app;.</para>
	</listitem>
	</varlistentry>
	<varlistentry>
	<term>Pasek narzędiowy. </term>
	<listitem>
	<para>Pasek narzędziowy zawiera najbardziej przydatne polecenia z
        tych dostępnych w pasku menu.</para>
	</listitem>
	</varlistentry>
    <varlistentry>
        <term>Pola tekstowe. </term>
        <listitem>
            <para>Centralną część okna zajmują dwa pola tekstowe. Służą
                do wyświetlania odpowiednio wczytanych i przetworzonych
                danych.</para>
        </listitem>
    </varlistentry>
	</variablelist>
    </sect2>
  </sect1>
<!-- ================ Usage ================================ -->
<!-- Use this section to describe how to use the application to perform the tasks for 
  which the application is designed. -->
  <sect1 id="pyconverter-usage"> 
    <title>Sposób użycia</title> 
    <para>Możesz użyć programu &app; do następujących czynności:
      <itemizedlist> 
	<listitem> 
	  <para> 
	    <xref linkend="pyconverter-open-function"/></para> 
	</listitem> 
	<listitem> 
	  <para> 
	    <xref linkend="pyconverter-convert-function"/></para> 
	</listitem> 
	<listitem> 
	  <para> 
	    <xref linkend="pyconverter-check_nonlinearity"/></para>
	</listitem> 
	<listitem> 
	  <para> 
	    <xref linkend="pyconverter-save-function"/></para> 
	</listitem> 
      </itemizedlist> </para>
    <!-- ================ Usage Subsection ================================ -->
    <sect2 id="pyconverter-open-function"> 
      <title>Otwieranie funkcji</title> 
      <para>Aby otworzyć funkcję wykonaj następujące kroki:
          <itemizedlist>
              <listitem>
                  <para>Z menu głównego wybierz:
                      <menuchoice> 
                          <guimenu>Plik</guimenu> 
                          <guimenuitem>Otwórz</guimenuitem> 
                  </menuchoice>.</para>
              </listitem>
              <listitem>
                  <para>Z nowego okna <guilabel>Otwórz plik do
                      konwersji</guilabel> wybierz plik z funkcją do otwarcia i
                  naciśnij <guibutton>Otwórz</guibutton>.</para>
              </listitem>
          </itemizedlist>
          <!-- ==== Figure ==== -->
          <figure id="open_function-fig"> 
              <title>Wybór funkcji do otwarcia</title> 
              <screenshot> 
                  <mediaobject> 
                      <imageobject><imagedata
                              fileref="figures/pyconverter_open_function.png" format="PNG"/> 
                      </imageobject>
                      <textobject> 
                          <phrase>Pokazuje okno wyboru funkcji do
                              otwarcia. Okno wyświetla zawartosć
                              ostatnio otwartego katalogu, drzewo
                              katalogów, menu wyboru filtrów oraz
                              przycizki Otwórz i Anuluj.</phrase> 
                      </textobject> 
                  </mediaobject> 
              </screenshot> 
          </figure>
          <!-- ==== End of Figure ==== -->

          <tip>
              <para>Możesz ułatwić sobie wybór zawężając widoczne pliki tylko do
              określonego typu funkcji wybierając jeden z filtrów z listy
              znajdującej się ponad prziciskami <guibutton>Otwórz</guibutton>
              i <guibutton>Anuluj</guibutton>.</para>
          </tip>
          <note>
              <para>Możesz mieć otwartą tylko jedną funkcję
                  naraz.</para>
          </note>
      </para>
      <para>Wczytana funkcja wyświetlona jest w lewym polu tekstowym.
          <!-- ==== Figure ==== -->
          <figure id="opened_function-fig"> 
              <title>Główne okno z wczytaną funkcją</title> 
              <screenshot> 
                  <mediaobject> 
                      <imageobject><imagedata
                              fileref="figures/pyconverter_opened_function.png" format="PNG"/> 
                      </imageobject>
                      <textobject> 
                          <phrase>Pokazuje główne okno aplikacji z
                              wyświetloną zawartością pliku funkcji w
                              lewym polu tekstowym.</phrase> 
                      </textobject> 
                  </mediaobject> 
              </screenshot> 
          </figure>
          <!-- ==== End of Figure ==== -->


          <note>
              <para>Lewe pole tekstowe zawsze wyświetla aktualnie
                  owartą funkcję.</para>
          </note>
          <tip>
              <para>Jeżeli lewe pole tekstowe jest puste, oznacza to, iż żadna
                  funkcja nie została jeszcze otwarta.</para>
          </tip>
      </para>
      <para>Aby otworzyć inną funkcję, powtórz jeszcze raz powyższe czynności
          wybierając w oknie <guilabel>Otwórz plik do
              konwersji</guilabel> inny plik z funkcją.</para>
    </sect2> 
    <!-- ================ Usage Subsection ================================ -->
	 <sect2 id="pyconverter-convert-function"> 
      <title>Konwertowanie funkcji</title> 
      <para>Aby konwertować funkcję wczytaj ją wykonując kroki opisane w
          punkcie <xref linkend="pyconverter-open-function"/>, a
          nasępnie: 
      </para> 
      <itemizedlist> 
	<listitem> 
        <para>Naciśnij przycisk <guibutton>Przekonwertuj</guibutton>.</para> 
	</listitem> 
	<listitem> 
        <para>Z nowego okna <guilabel>Wybierz docelowy format</guilabel>
            zaznacz docelowy format konwersji i potwierdź wybór
            przyciskiem <guibutton>Przekonwertuj</guibutton>.</para>
	</listitem> 
      </itemizedlist> 
      <!-- ==== Figure ==== -->
      <figure id="choose_function-fig"> 
          <title>Okno wyboru funkcji docelowej</title> 
          <screenshot> 
              <mediaobject> 
                  <imageobject><imagedata
                          fileref="figures/pyconverter_choose_function.png" format="PNG"/> 
                  </imageobject>
                  <textobject> 
                      <phrase>Pokazuje okno z przyciskami pozwalającymi
                      wybrać docelową postać funkcji oraz przyciski
                      Przeoknwertuj i Anuluj.</phrase> 
                  </textobject> 
              </mediaobject> 
          </screenshot> 
      </figure>
      <!-- ==== End of Figure ==== -->

    <para>Wynik konwersji widoczny jest w prawym polu tekstowym.</para>
      <!-- ==== Figure ==== -->
      <figure id="converted_function-fig"> 
          <title>Główne okno z przekonwertowaną funkcją</title> 
          <screenshot> 
              <mediaobject> 
                  <imageobject><imagedata
                          fileref="figures/pyconverter_converted_function.png" format="PNG"/> 
                  </imageobject>
                  <textobject> 
                      <phrase>Pokazuje główne okno wczytaną funkcją w
                          lewym polu tekstowym oraz przekonwertowaną
                          funkcję w prawym polu tekstowym.</phrase> 
                  </textobject> 
              </mediaobject> 
          </screenshot> 
      </figure>
      <!-- ==== End of Figure ==== -->

    <note>
        <para>Aby przekonwertować te samą funkcję wejściową (widoczną w lewym
        polu tekstowym) do innego formatu możesz ponownie nacisnąć
        przycisk <guibutton>Przekonwertuj</guibutton> by wybrać inny
        format docelowy.</para>
    </note>
    </sect2> 
    <!-- ================ Usage Subsection ================================ -->
    <sect2 id="pyconverter-check_nonlinearity"> 
      <title>Wyznaczanie nieliniowości funkcji</title> 
      <para>Aby zbadać nielinowość funkcji wczytanej przy pomocy
          procedury opisanej w punkcie <xref
              linkend="pyconverter-open-function"/> wykonaj następujące
          kroki:</para> 
      <itemizedlist> 
	<listitem> 
        <para>Naciśnij przycisk <guibutton>Uruchom
                test</guibutton>.</para>
	</listitem> 
	<listitem> 
        <para>Z nowego okna <guilabel>Wybierz algorytm</guilabel>
            zaznacz algorytm, którym chcesz wyznaczyć nielinowość oraz
            potwierdź wybór naciskając przycisk
            <guibutton>Wykonaj</guibutton>.</para> 
	</listitem> 
      </itemizedlist> 
      <!-- ==== Figure ==== -->
      <figure id="choose_algorithm-fig"> 
          <title>Okno wyboru algorytmu testowania nieliniowości</title> 
          <screenshot> 
              <mediaobject> 
                  <imageobject><imagedata
                          fileref="figures/pyconverter_choose_algorithm.png" format="PNG"/> 
                  </imageobject>
                  <textobject> 
                      <phrase>Pokazuje okno z przyciskami wyboru
                          algorytmu testowania nielinowości oraz
                          przyciski Uruchom i Anuluj.</phrase> 
                  </textobject> 
              </mediaobject> 
          </screenshot> 
      </figure>
      <!-- ==== End of Figure ==== -->

      <para>Wynik testu wraz z krokami pośrednimi wyświetlony jest w
          prawym polu tekstowym.</para>
      <!-- ==== Figure ==== -->
      <figure id="calculated-nonlinearity-fig"> 
          <title>Główne okno z wyprowadzoną nieliniowością</title> 
          <screenshot> 
              <mediaobject> 
                  <imageobject><imagedata
                          fileref="figures/pyconverter_calculated_nonlinearity.png" format="PNG"/> 
                  </imageobject>
                  <textobject> 
                      <phrase>Pokazuje główne okno z wczytaną funkcją w
                          lewym polu tekstowym oraz wyprowadzoną
                          nielinowością w prawy polu tekstowym.</phrase> 
                  </textobject> 
              </mediaobject> 
          </screenshot> 
      </figure>
      <!-- ==== End of Figure ==== -->

      <important>
          <para>Jeżeli przed badaniem nielinowości dokonałeś konwersji
          funkcji, opcja <guibutton>Zapisz</guibutton> nie będzie
          dostępna. Aby móc zapisać przekonwertowaną funkcję, musisz
          ponownie wykonać konwersję opisaną w punkcie
          <xref linkend="pyconverter-convert-function"/>.</para>
      </important>
    </sect2>
    <!-- ================ Usage Subsection ================================ -->
    <sect2 id="pyconverter-save-function"> 
      <title>Zapisywanie funkcji</title> 
      <para>W celu zapisania wcześniej przekonwertowanej funkcji (por.
          <xref linkend="pyconverter-convert-function"/>) wykonaj
          następujące czynności:</para>
      <itemizedlist>
          <listitem>
              <para>Wybierz z menu
                  <menuchoice>
                      <guimenu>Plik</guimenu>
                      <guimenuitem>Zapisz</guimenuitem>
                  </menuchoice>
              .</para>
          </listitem>
          <listitem>
              <para>W nowym oknie <guilabel>Zapisz przekonwertowany
                      plik</guilabel> wpisz nazwę pliku, do którego
                  chcesz zapisać przekonwertowaną funkcję, lub wybierz
                  istniejący plik do nadpisania.</para>
          </listitem>
          <listitem>
              <para>Potwierdź wybór naciskając
                  <guibutton>Zapisz</guibutton>.</para>
          </listitem>
      </itemizedlist>
      <!-- ==== Figure ==== -->
      <figure id="save_function-fig"> 
          <title>Okno zapisu przekonwertowanej funkcji</title> 
          <screenshot> 
              <mediaobject> 
                  <imageobject><imagedata
                          fileref="figures/pyconverter_save_function.png" format="PNG"/> 
                  </imageobject>
                  <textobject> 
                      <phrase>Pokazuje okno z wyświetlonymi z bierzącego
                          katalogu, drzewo katalogów, pole do wpisania
                          nazwy pliku, typ zapisywanej funkcji oraz
                          przyciski Zapisz i Anuluj.</phrase> 
                  </textobject> 
              </mediaobject> 
          </screenshot> 
      </figure>
      <!-- ==== End of Figure ==== -->

      <note>
          <para>Rozszerzenie pliku zostanie automatycznie dobrane na podstawie
          typu funkcji, jaką zpaisujesz. Jeżeli jednak wpiszesz je samemu,
          &app; nie doda go po raz drugi.</para>
      </note>
      <important>
          <para>&app; nie doda do nazwy pliku rozszerzenia tylko wtedy, gdy
          podane przez Ciebie jest zgodne z zapisywanym typem funkcj.
          Oznacza to, że wpisując jako nazwę pliku:
          <synopsis>wy_fun.FP</synopsis> zapisując funkcję w postaci APN,
          utworzony zostanie plik:
          <synopsis>wy_fun.FP.APN</synopsis></para>
      </important>
    </sect2> 
  </sect1>
<!-- ============= Bugs ================================== -->
<!-- This section is optional and is commented out by default. 
     You can use it to describe known bugs and limitations of the 
	  program if there are any - please be frank and list all
     problems you know of. 
  
  <sect1 id="mayapp-bugs">
  <title>Known Bugs and Limitations</title>
  <para> </para>
 </sect1>
-->
<!-- ============= About ================================== -->
<!-- This section contains info about the program (not docs), such as
      author's name(s), web page, license, feedback address. This
      section is optional: primary place for this info is "About.." box of
      the program. However, if you do wish to include this info in the
      manual, this is the place to put it. Alternatively, you can put this information in the title page.-->
  <sect1 id="pyconverter-about"> 
    <title>O programie &app;</title> 
    <para> &app; został napisany przez Cezarego Krzyżanowskiego
        (<email>czarny@pld-linux.org</email>) jako projekt laboratoryjny
        na przedmiocie Teoretyczne Podstawy Informatyki II.</para>

    <para> Ten program dystrybułowany jest na licencji GNU General
        Public License opublikowaną przez Free Software Foundation,
        wersja 2. Kopię tej licencji można znaleźć na
        <ulink url="http://www.gnu.org.pl/text/licencja-gnu.html"
          type="url">polskich stronach projektu GNU</ulink> , albo w
      pliku COPYING dostarczonym wraz z kodem źródłowym programu.</para>
  </sect1> 
</article>
