Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
SimpleTextInteractor.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Frameworks_Led_SimpleTextInteractor_h_
5#define _Stroika_Frameworks_Led_SimpleTextInteractor_h_ 1
6
7#include "Stroika/Frameworks/StroikaPreComp.h"
8
9/*
10@MODULE: SimpleTextInteractor
11@DESCRIPTION:
12 <p>SimpleTextInteractor.</p>
13 */
14
15#include "SimpleTextImager.h"
16#include "TextInteractorMixins.h"
17
18namespace Stroika::Frameworks::Led {
19
20#if qStroika_Frameworks_Led_SupportGDI
21 DISABLE_COMPILER_MSC_WARNING_START (4250) // inherits via dominance warning
22 /*
23 @CLASS: SimpleTextInteractor
24 @BASES: InteractorImagerMixinHelper<SimpleTextImager>
25 @DESCRIPTION:
26 <p>Simple mixin of @'SimpleTextImager' and @'TextInteractor' (using the utility class @'InteractorImagerMixinHelper<IMAGER>').
27 You might use this class as an argument to the mixin template for your class library wrapper class, as in
28 Led_MFC_X&ltSimpleTextInteractor&gt, for MFC.</p>
29 */
30 class SimpleTextInteractor : public InteractorImagerMixinHelper<SimpleTextImager> {
31 private:
32 using inherited = InteractorImagerMixinHelper<SimpleTextImager>;
33
34 protected:
35 SimpleTextInteractor ();
36
37 protected:
38 virtual void TabletChangedMetrics () override;
39 virtual void ChangedInterLineSpace (PartitionMarker* pm) override;
40
41 /*
42 * Must combine behaviors of different mixins.
43 */
44 public:
45 virtual void SetDefaultFont (const IncrementalFontSpecification& defaultFont) override;
46 nonvirtual void SetDefaultFont (const IncrementalFontSpecification& defaultFont, UpdateMode updateMode);
47 virtual void SetTopRowInWindow (size_t newTopRow) override;
48 nonvirtual void SetTopRowInWindow (size_t newTopRow, UpdateMode updateMode);
49 virtual void SetTopRowInWindow (RowReference row) override;
50 nonvirtual void SetTopRowInWindow (RowReference row, UpdateMode updateMode);
51
52 // Speed tweek - use rowreferences...
53 public:
54 virtual void SetTopRowInWindowByMarkerPosition (size_t markerPos, UpdateMode updateMode = eDefaultUpdate) override;
55 };
56 DISABLE_COMPILER_MSC_WARNING_END (4250) // inherits via dominance warning
57#endif
58
59}
60
61/*
62 ********************************************************************************
63 ***************************** Implementation Details ***************************
64 ********************************************************************************
65 */
66#include "SimpleTextInteractor.inl"
67
68#endif /*_Stroika_Frameworks_Led_SimpleTextInteractor_h_*/