Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
WordWrappedTextInteractor.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Frameworks_Led_WordWrappedTextInteractor_h_
5#define _Stroika_Frameworks_Led_WordWrappedTextInteractor_h_ 1
6
7#include "Stroika/Frameworks/StroikaPreComp.h"
8
9/*
10@MODULE: WordWrappedTextInteractor
11@DESCRIPTION:
12 <p>This module provides the class @'WordWrappedTextInteractor' - a simple helper class to deal
13 with mixing together @'WordWrappedTextImager' and @'TextInteractor'.</p>
14 */
15
16#include "Stroika/Frameworks/Led/TextInteractorMixins.h"
17#include "Stroika/Frameworks/Led/WordWrappedTextImager.h"
18
19namespace Stroika::Frameworks::Led {
20
21#if qStroika_Frameworks_Led_SupportGDI
22 DISABLE_COMPILER_MSC_WARNING_START (4250) // inherits via dominance warning
23
24 /*
25 @CLASS: WordWrappedTextInteractor
26 @BASES: @'InteractorImagerMixinHelper<IMAGER>', <IMAGER=@'WordWrappedTextImager'>
27 @DESCRIPTION:
28 <p>Simple mixin of @'WordWrappedTextImager' and @'TextInteractor'
29 (using the utility class @'InteractorImagerMixinHelper<IMAGER>').</p>
30 */
31 class WordWrappedTextInteractor : public InteractorImagerMixinHelper<WordWrappedTextImager> {
32 private:
33 using inherited = InteractorImagerMixinHelper<WordWrappedTextImager>;
34
35 protected:
36 WordWrappedTextInteractor () = default;
37
38 public:
39 virtual void OnTypedNormalCharacter (Led_tChar theChar, bool optionPressed, bool shiftPressed, bool commandPressed,
40 bool controlPressed, bool altKeyPressed) override;
41
42 /*
43 * Must combine behaviors of different mixins.
44 */
45 public:
46 virtual void SetTopRowInWindow (size_t newTopRow) override;
47 nonvirtual void SetTopRowInWindow (size_t newTopRow, UpdateMode updateMode);
48 virtual void SetTopRowInWindow (RowReference row) override;
49 nonvirtual void SetTopRowInWindow (RowReference row, UpdateMode updateMode);
50
51 // Speed tweek - use rowreferences...
52 public:
53 virtual void SetTopRowInWindowByMarkerPosition (size_t markerPos, UpdateMode updateMode = eDefaultUpdate) override;
54 };
55 DISABLE_COMPILER_MSC_WARNING_END (4250) // inherits via dominance warning
56#endif
57
58}
59
60/*
61 ********************************************************************************
62 ***************************** Implementation Details ***************************
63 ********************************************************************************
64 */
65#include "WordWrappedTextInteractor.inl"
66
67#endif /*_Stroika_Frameworks_Led_WordWrappedTextInteractor_h_*/