-
X-Received: by 2002:a37:ad4:: with SMTP id 203mr556017qkk.3.1546286434444; Mon, 31
Dec 2018 12:00:34 -0800 (PST)
X-Received: by 2002:a37:ad4:: with SMTP id 203mr556017qkk.3.1546286434444; Mon, 31
Dec 2018 12:00:34 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-2.dfn.de!n
ews.dfn.de!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!weretis.ne
t!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpre
ss.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!v55no7324063qtk.0!news-
out.google.com!h3ni10257qtk.1!nntp.google.com!v55no7324058qtk.0!postnews.google
.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 31 Dec 2018 12:00:33 -0800 (PST)
In-Reply-To: <q0d5hj$s27$1@node2.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.146.162.172;
posting-account=pyti1AoAAAAf66c003TUy10QAAnMWaKw
NNTP-Posting-Host: 188.146.162.172
References: <q0d5hj$s27$1@node2.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0...@g...com>
Subject: Re: Projektowanie dla pluginów
From: s...@g...com
Injection-Date: Mon, 31 Dec 2018 20:00:34 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 20
Xref: news-archive.icm.edu.pl pl.comp.programming:213109
[ ukryj nagłówki ]Proponuję ściągnąć źródła Qt Creatora (są na Git hubie:
https://github.com/qt-creator/qt-creator ), otworzyć je w Qt Creatorze (skompilowanym
- z pakietu biblioteki Qt). To bardzo inspirujące działanie.
Ja wzorując się na tym zrobiłem w swoim programie coś takiego jak fabrykę pluginów
Plugins. Zajmuje się ona ładowaniem pluginów (z uwzględnieniem zależności i wersji -
tak jak w Qt Creator), ale najważniejsze jest to, że ta fabryka pełni również rolę
zwrotnicy: pluginy rejestrują w niej swoje zdarzenia (std::function - zobacz sobie
przykłady w dokumentacji: https://en.cppreference.com/w/cpp/utility/functional
/function , w stosowaniu upierdliwe jak diabli, ale za to intuicyjne w użyciu i
bardzo szybkie w działaniu), a okno główne i edytory wywołują na nich swoje kluczowe
zdarzenia (np po otwarciu pliku, przed zamknięciem, przed wyświetleniem menu
kontekstowego, przy tworzeniu paska nawigacyjnego (przyciski, zakładki i dowolne inne
kontrolki), przy tworzeniu paska menu, tworzenie kart opcji itp.). Oczywiście
parametry funkcji się zmieniają w każdym przypadku i to wymusza utrzymanie wielu list
tych funkcji, ale nie znam lepszego rozwiązania w C++.
Następne wpisy z tego wątku
- 31.12.18 21:36 Borneq
- 31.12.18 22:08 Borneq
- 01.01.19 20:16 Mateusz Bogusz
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=