This file is indexed.

/usr/share/help/cs/gnome-devel-demos/textview.py.page is in gnome-devel-docs 3.28.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="textview.py" xml:lang="cs">
  <info>
    <title type="text">TextView (Python)</title>
    <link type="guide" xref="beginner.py#multiline"/>
    <link type="seealso" xref="strings.py"/>
    <link type="seealso" xref="scrolledwindow.py"/>
    <link type="next" xref="dialog.py"/>
    <revision version="0.2" date="2012-06-19" status="draft"/>

    <credit type="author copyright">
      <name>Sebastian Pölsterl</name>
      <email its:translate="no">sebp@k-d-w.org</email>
      <years>2011</years>
    </credit>

    <credit type="author copyright editor">
      <name>Marta Maria Casetti</name>
      <email its:translate="no">mmcasetti@gmail.com</email>
      <years>2012</years>
    </credit>

    <desc>Widget, který zobrazuje GtkTextBuffer</desc>
  </info>

  <title>TextView</title>

  <note style="sidebar"><p>Toto je příklad widgetu Gtk.TextView.</p>
  <p>Když zmáčkneme <key>Enter</key>, dostaneme nový řádek.</p>
  <p>Můžeme se ale také dostat na nový řádek, když píšeme dlouhé věty (text bude zalomen na řádky mezi slovy).</p>
  <p>Když máme dlouhééééééééééééééééééééééééééééééééééé</p>
  <p>(to bylo dlouhé)</p>
  <p>slovo, objeví se vodorovný posuvník.</p></note>

  <media type="image" mime="image/png" src="media/textview.png"/>

  <links type="section"/>

  <section id="code">
  <title>Kód použitý k vygenerování tohoto příkladu</title>

  <code mime="text/x-python" style="numbered">from gi.repository import Gtk
import sys


class MyWindow(Gtk.ApplicationWindow):

    def __init__(self, app):
        Gtk.Window.__init__(self, title="TextView Example", application=app)
        self.set_default_size(300, 450)

        # Posuvníky pro synovský widget (což bude TextView)
        scrolled_window = Gtk.ScrolledWindow()
        scrolled_window.set_border_width(5)
        # Posuvníky zobrazit jen v případě potřeby
        scrolled_window.set_policy(
            Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)

        # Textová vyrovnávací paměť (uchovává text)
        buffer1 = Gtk.TextBuffer()

        # TextView (zobrazuje obsah vyrovnávací paměti)
        textview = Gtk.TextView(buffer=buffer1)
        # wrap the text, if needed, breaking lines in between words
        textview.set_wrap_mode(Gtk.WrapMode.WORD)

        # TextView má posuvníky
        scrolled_window.add(textview)

        self.add(scrolled_window)


class MyApplication(Gtk.Application):

    def __init__(self):
        Gtk.Application.__init__(self)

    def do_activate(self):
        win = MyWindow(self)
        win.show_all()

    def do_startup(self):
        Gtk.Application.do_startup(self)

app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
</code>
  </section>

  <section id="methods">
  <title>Užitečné metody pro widget TextView</title>
  <p><code>Gtk.TextView</code> zobrazuje text uchovávaný v <code>Gtk.TextBuffer</code>. Většina zásahů do textu je však prováděna pomocí iterátorů představovaných objektem <code>Gtk.TextIter</code> – pozicí mezi dvěma znaky v textové vyrovnávací paměti. Iterátory nemají trvalou platnost. Vždy, když dojde ke změně ve vyrovnávací paměti způsobem, který ovlivní obsah, stanou se všechny zasažené iterátory neplatnými. Z tohoto důvodu nelze iterátory použít k uchování pozic mezi změnami vyrovnávací paměti. K uchování pozice použijeme značky <code>Gtk.TextMark</code>, které lze zviditelnit pomocí <code>visible(True)</code>. Textová vyrovnávací paměť obsahuje dvě vestavěné značky. Značku „insert“ (pozice kurzoru) a „selection_bound“ (hranice výběru).</p>
  <p>Metody pro widget TextView:</p>
  <list>
    <item><p>Widget <code>TextView</code> umožňuje ve výchozím stavu úpravy. Pokud požadujete opak, použijte <code>set_editable(False)</code>. Pokud vyrovnávací paměť nemá upravitelný text, je dobrý nápad také použít <code>set_cursor_visible(False)</code> ke skrytí kurzoru.</p></item>
    <item><p>Zarovnání textu se nastavuje pomocí <code>set_justification(Gtk.Justification.JUSTIFICATION)</code>, kde <code>JUSTIFICATION</code> je něco z <code>LEFT, RIGHT, CENTER, FILL</code>.</p></item>
    <item><p>Zalamování textu se nastavuje pomocí <code>set_wrap_mode(Gtk.WrapMode.WRAP)</code>, kde <code>WRAP</code> je jedno z <code>NONE</code> (textová oblast bude rozšířena), <code>CHAR</code> (řádky se zalamují, kdekoliv se může vyskytnout kurzor), <code>WORD</code> (řádky se zalamují za celými slovy), <code>WORD_CHAR</code> (řádky se zalamují mezi slovy, ale když to není možné, tak i mezi znaky).</p></item>
  </list>
  <p>Metody pro widget TextBuffer:</p>
  <list>
    <item><p><code>get_insert()</code> vrací <code>Gtk.TextMark</code>, který představuje kurzor, což je místo vkládání.</p></item>
    <item><p><code>get_selection_bound()</code> vrací <code>Gtk.TextMark</code>, který představuje hranice výběru.</p></item>
    <item><p><code>set_text("nějaký text", délka)</code>, kde <code>délka</code> je celé kladné číslo nebo <code>-1</code>, nastaví obsah vyrovnávací paměti prvních <code>délka</code> znaků z textu <code>"nějaký text"</code>. Jestliže je <code>délka</code> vynechána nebo <code>-1</code>, je text vložen celý. Pokud byl ve vyrovnávací paměti před tím nějaký obsah, je zlikvidován.</p></item>
    <item><p><code>insert(iterátor, "nějaký text", délka)</code>, kde <code>iterárot</code> je textový iterátor a <code>délka</code> je celé kladné číslo nebo <code>-1</code>, vloží do vyrovnávací paměti na pozici danou <code>iterátorem</code> prvních <code>délka</code> znaků z textu <code>"nějaký text"</code>. Jestliže je <code>délka</code> vynechána nebo je <code>-1</code>, je text vložen celý.</p></item>
    <item><p><code>insert_at_cursor("nějaký text", délka)</code> dělá to stejné, co <code>insert(iterátor, "nějaký text", délka)</code> s tím, že aktuální kurzor se vezme jako <code>iterátor</code>.</p></item>
    <item><p><code>create_mark("název_značky", iterátor, přitahovat_vlevo)</code>, kde <code>iterátor</code> je <code>Gtk.TextIter</code> a <code>přitahovat_vlevo</code> je pravdivostní hodnota, vytvoří značku <code>Gtk.TextMark</code> na pozici <code>iterátor</code>. Pokud je <code>"název_značky"</code> zadán jako <code>None</code>, je značka anonymní, v opačném případě ji lze získat pomocí <code>get_mark()</code>. Když je přitahována vlevo, a na místo aktuální značky je vkládán text, posouvá se značka nalevo od nově vkládaného textu. V případe, že je <code>přitahovat_vlevo</code> vynecháno, je výchozí hodnotou <code>False</code>.</p></item>
    <item><p>Abyste nějakému textu ve vyrovnávací paměti určili konkrétní formát, musíte nadefinovat značku (<code>tag</code>), která si bude pamatovat formátovací informace, a pak ji použít na úsek textu pomocí <code>create_tag("název značky", vlastnost)</code> a <code>apply_tag(značka, iterátor_počátku, iterátor_konce)</code>. Například:</p>
      <code>
tag = textbuffer.create_tag("orange_bg", background="orange")
textbuffer.apply_tag(tag, start_iter, end_iter)</code>
     <p>Následují některé obvyklé styly používané u textu:</p>
      <list>
        <item><p>Barva pozadí (vlastnost „background“)</p></item>
        <item><p>Barva popředí (vlastnost „foreground“)</p></item>
        <item><p>Podtržení (vlastnost „underline“)</p></item>
        <item><p>Tučné (vlastnost „weight“)</p></item>
        <item><p>Kurzíva (vlastnost „style“)</p></item>
        <item><p>Přeškrtnutí (vlastnost „strikethrouhg“)</p></item>
        <item><p>Zarovnání (vlastnost „justification“)</p></item>
        <item><p>Velikost (vlastnosti „size“ a „size-points“)</p></item>
        <item><p>Zalamování textu (vlastnost „wrap-mode“)</p></item>
      </list>
    <p>Můžete také dodatečně konkrétní značky smazat pomocí <code>remove_tag()</code> nebo smazat všechny značky v zadané oblasti zavoláním <code>remove_all_tags()</code>.</p></item>
  </list>
  <p>Metody pro widget TextIter</p>
  <list>
    <item><p><code>forward_search(co_hledat, příznaky, omezení)</code> hledá směrem od začátku ke konci <code>co_hledat</code>. Hledání nepokračuje při při dosažení omezení <code>Gtk.TextIter</code>. Parametr <code>příznaky</code> může být nastaven na něco z následujícího, případně i na kombinaci více možností pospojovaných bitovým operátorem OR <code>|</code>: <code>0</code> (musí se shodovat přesně), <code>Gtk.TextSearchFlags.VISIBLE_ONLY</code> (nalezená shoda může být oproti hledanému proložená neviditelným textem), <code>Gtk.TextSearchFlags.TEXT_ONLY</code> (nalezená shoda může mít uvnitř obrázky nebo jiné synovské widgety), <code>Gtk.TextSearchFlags.CASE_INSENSITIVE</code> (text bude porovnáván bez ohledu na velikost písmen). Metoda vrací dvojici obsahující <code>Gtk.TextIter</code> ukazující na začátek shody a na první znak za shodu. Pokud není nic nalezeno, je vráceno <code>None</code>.</p></item>
    <item><p><code>backward_search(co_hledat, příznaky, omezení)</code> dělá to stejné jako <code>forward_search()</code>, akorát směrem od konce k začátku.</p></item>
  </list>
  </section>

  <section id="references">
  <title>Odkazy k API</title>
  <p>V této ukázce se používá následující:</p>
  <list>
    <item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkTextView.html">GtkTextView</link></p></item>
    <item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkTextBuffer.html">GtkTextBuffer</link></p></item>
    <item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkTextTag.html">GtkTextTag</link></p></item>
    <item><p><link href="http://developer.gnome.org/gtk3/unstable/GtkScrolledWindow.html">GtkScrolledWindow</link></p></item>
    <item><p><link href="http://developer.gnome.org/gtk3/unstable/gtk3-Standard-Enumerations.html">Standardní výčtové konstanty</link></p></item>
  </list>
  </section>
</page>