-
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
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-22 Genialna toaleta Urobot, automatycznie badająca mocz i kał z Taiwanu
- 2025-07-22 Thunderbird i dysk...
- 2025-07-22 Warszawa => Programista Full Stack .Net <=