-
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
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-14 Ustawy o rejestracji obcych agentów (wpływu): fuj Gruzja/Rosja v. cacy USA
- 2024-05-14 VMWare :)
- 2024-05-14 Ulm => Solution Engineer (m/w/d) Data Center Technologies <=
- 2024-05-14 Będziemy się znowu zrzucać na elektryki...
- 2024-05-14 Pompa ciepla Kaisai
- 2024-05-14 Przyłączenie działki do sieci elektrycznej
- 2024-05-14 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-05-14 Kraków => SAP WM Consultant / Execution <=
- 2024-05-14 Wrocław => Business Development Manager - obszar bezpieczeństwa IT <
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Białystok => ERP Implementer <=
- 2024-05-14 Przerabianie na Indonezje
- 2024-05-14 Kielce => UX/UI Designer <=
- 2024-05-14 Warszawa => Sales Representative for Outsourcing Services <=