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í
×
    dnes 19:00 | IT novinky

    Na akci Made by Google 2026 (YouTube) bude oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.

    Ladislav Hagara | Komentářů: 0
    dnes 17:11 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Nová verze

    Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    dnes 05:33 | Zajímavý článek

    Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.

    Ladislav Hagara | Komentářů: 9
    dnes 05:22 | Nová verze

    Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Nová verze

    Byla vydána nová verze 10.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. S novými obrazy pro Orange Pi 4 Pro, Orange Pi Zero 3W a Odroid M1/M1S/M2. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Námořní drony používané elitními jednotkami britského královského námořnictva tajně posílaly údaje do Číny. Stroje vybavené čínskými komponenty měly být využívány pro vojenské operace na Blízkém východě. Kamery na dálkově řízených průzkumných člunech K3 Scout byly vybavené součástkami, které bez vědomí britského námořnictva odesílaly informace do spojeného zařízení v Číně. Britské námořní síly využívaly flotilu námořních dronů

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 13:33 | IT novinky

    Alza.cz nabízí herní AlzaPC s předinstalovaným Linuxem (YouTube), konkrétně s linuxovou distribucí Bazzite (Wikipedie).

    Ladislav Hagara | Komentářů: 5
    včera 04:55 | Nová verze

    Squeak (Wikipedie), open source implementace programovacího jazyka a prostředí Smalltalk, byl vydán ve verzi 6.1. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Bezpečnostní upozornění

    V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Zapscape aneb CVE-2026-64561. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala 6 let (od července 2020 do července 2026).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2373 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: pyGTK a syntax parser

    12.1.2008 21:56 martin
    pyGTK a syntax parser
    Přečteno: 314×
    
    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.