abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 20:22 | Humor Ladislav Hagara | Komentářů: 7
    včera 19:11 | Zajímavý software

    Byl představen webový prohlížeč Brow6el, běžící v terminálu. Pro prohlížení webu je využit Chromium Embedded Framework, vyrendrovaná webová stránka je následně zobrazena v terminálu převodem na sixely pomocí knihovny libsixel. Brow6el se ovládá modálním klávesnicovým rozhraním, inspirovaném populárním textovým editorem Vim. Demonstrační video s ukázkou používání.

    NUKE GAZA! 🎆 | Komentářů: 1
    2.1. 23:00 | IT novinky

    Společnost Pebble představila (YouTube) chytré hodinky Pebble Round 2. S kulatým e-paper displejem, s open source PebbleOS a vydrží baterie přibližně dva týdny. Předobjednat je lze za 199 dolarů s plánovaným dodáním v květnu.

    Ladislav Hagara | Komentářů: 6
    2.1. 14:22 | Humor

    Na novoroční inauguraci starosty New Yorku Zohrana Mamdaniho bylo zakázáno si s sebou přinést Raspberry Pi anebo Flipper Zero. Raspberry Pi i Flipper Zero jsou explicitně uvedeny v seznamu zakázaných věcí jak na na veřejné pozvánce, tak i na oficiálních stránkách města.

    NUKE GAZA! 🎆 | Komentářů: 43
    2.1. 11:33 | Nová verze

    OpenTTD (Wikipedie), tj. open source klon počítačové hry Transport Tycoon Deluxe, byl vydán v nové stabilní verzi 15.0. Přehled novinek v seznamu změn a také na YouTube. OpenTTD lze instalovat také ze Steamu.

    Ladislav Hagara | Komentářů: 4
    2.1. 11:11 | Nová verze

    Správce oken IceWM byl vydán ve verzi 4.0.0, která např. vylepšuje navigaci v přepínání velkého množství otevřených oken.

    |🇵🇸 | Komentářů: 4
    2.1. 01:33 | Zajímavý projekt

    Od 1. ledna 2026 jsou všechny publikace ACM (Association for Computing Machinery) a související materiály přístupné v její digitální knihovně. V rámci této změny je nyní digitální knihovna ACM nabízena ve dvou verzích: v základní verzi zdarma, která poskytuje otevřený přístup ke všem publikovaným výzkumům ACM, a v prémiové zpoplatněné verzi, která nabízí další služby a nástroje 'určené pro hlubší analýzu, objevování a organizační využití'.

    NUKE GAZA! 🎆 | Komentářů: 5
    1.1. 16:44 | IT novinky

    S koncem roku 2025 skončila standardní podpora operačního systému HP-UX (Hewlett Packard Unix).

    Ladislav Hagara | Komentářů: 10
    1.1. 14:33 | Nová verze

    K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.

    |🇵🇸 | Komentářů: 8
    31.12. 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (1%)
     (5%)
     (1%)
     (13%)
     (36%)
     (9%)
     (8%)
     (7%)
     (15%)
     (30%)
    Celkem 98 hlasů
     Komentářů: 2, poslední dnes 01:06
    Rozcestník

    Dotaz: pyGTK a syntax parser

    12.1.2008 21:56 martin
    pyGTK a syntax parser
    Přečteno: 206×
    
    Zdravim,
    pokousim se napsat jednoduchou syntaxi pro muj osobni editurek.
    Vstup bude jako slovnik. Jen keyword a jeho syntaxe. Nic vic.
    Zatim to skoro funguje az na par malickosti ktere poznate ze zdrojaku.
    Pr: slovo Program mi obarvi dobre s Programy uz ma problemy :)
    Neporadi nekdo ?
    BTW : gtksourcebuffer a pygtkcodbuffer nechci pouzit.
    
    
    #-------------------------------------------------------------------
    # Tag Buffer
    # Pokus o napsani vlastniho jednoducheho syntax parseru
    # vstup: data v podobe slovniku
    #        key je Keyword a value je typ tagu pouzity
    #        pro syntaxi
    # com dot tbs-software at spooky.ln [ reverse it !!! ]
    #-------------------------------------------------------------------
    import gtk
    
    class TagBuffer(gtk.TextBuffer):
        def __init__(self, keywords):
            gtk.TextBuffer.__init__(self)
            self.keywords = keywords
            
            self.redTag = gtk.TextTag(name="Red")
            self.redTag.set_property("foreground", "dark red")
            self.redTag.props.family="Courier"
            
            self.greenTag = gtk.TextTag(name="Green")
            self.greenTag.set_property("foreground", "dark green")
            self.greenTag.props.family="Courier"
            
            self.blueTag = gtk.TextTag(name="Blue")
            self.blueTag.set_property("foreground", "dark blue")
            self.blueTag.props.family="Courier"
            
            self.get_tag_table().add(self.redTag)
            self.get_tag_table().add(self.greenTag)
            self.get_tag_table().add(self.blueTag)
            
            self.connect_after("insert-text", self.__text_insert)
            
        def __text_insert(self,buffer, cursor, text, length):
            def __getWordStart(cursor):
                character = cursor.get_char()
                if character.isalnum() is False:
                    if character in ("-", "_", "^"):
                        pass
                    else:
                        return False
                if cursor.starts_line():
                    return True
                cursor.backward_char()
                character = cursor.get_char()
                cursor.forward_char()
                if character.isalnum() or character in ("_", "-", "^"):
                    return False
                return True
            start = cursor.copy()
            while __getWordStart(start) is False:
                start.backward_char()
            if start.get_text(cursor) in self.keywords:
                self.apply_tag_by_name(self.keywords[start.get_text(cursor)], start, cursor)
            else:
                pass
        
    buffer = TagBuffer({"Program": "Red", "Load_AVI": "Green", "^header": "Blue"})
    view = gtk.TextView(buffer)
    window = gtk.Window()
    window.set_default_size(500, 400)
    window.connect("destroy", gtk.main_quit)
    window.add(view)
    window.show_all()
    
    gtk.main()
    
    

    Odpovědi

    Fuky avatar 12.1.2008 23:43 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: pyGTK a syntax parser

    Zkus konferenci o Pythonu, chodí tam víc Pythonistů než na Ábíčko.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.