FWidget now inherits directly from FObject

This commit is contained in:
Markus Gans 2017-10-27 23:28:37 +02:00
parent d1f2de254d
commit 3746dac885
13 changed files with 360 additions and 550 deletions

View File

@ -1,3 +1,6 @@
2017-10-27 Markus Gans <guru.mail@muenster.de>
* FWidget now inherits directly from FObject
2017-10-23 Markus Gans <guru.mail@muenster.de> 2017-10-23 Markus Gans <guru.mail@muenster.de>
* A FListView tree branch can now be expand and collapsed * A FListView tree branch can now be expand and collapsed
with a single click with a single click

View File

@ -150,13 +150,13 @@ Class digramm
: ┌--------┤ FRect │ : │ ┌───────────┐ : ┌--------┤ FRect │ : │ ┌───────────┐
: : └───────┘ : ├────┤ FLineEdit │ : : └───────┘ : ├────┤ FLineEdit │
:1 :1 : │ └───────────┘ :1 :1 : │ └───────────┘
┌─┴──┴──┐ : │ ┌──────────────┐ ┌──────────────┐ ┌─┴──┴──┐ ┌────────┐ : │ ┌──────────────┐ ┌──────────────┐
│ FTerm │◄────┐ :1 ├────┤ FButtonGroup │ ┌──┤ FRadioButton │ │ FTerm │◄───┤ FVTerm │◄──┐ :1 ├────┤ FButtonGroup │ ┌──┤ FRadioButton │
└───────┘ │ ┌────────┐ ┌────┴────┐ │ └──────────────┘ │ └──────────────┘ └───────┘ └────────┘ │ ┌────┴────┐ │ └──────────────┘ │ └──────────────┘
├─┤ FVTerm │◄──┤ FWidget │◄─┤ ┌───────────────┐ │ ┌───────────┐ ──┤ FWidget │◄─┤ ┌───────────────┐ │ ┌───────────┐
┌─────────┐ │ └────────┘ └─────────┘ ├────┤ FToggleButton │◄─┼──┤ FCheckBox │ ┌─────────┐ │ └─────────┘ ├────┤ FToggleButton │◄─┼──┤ FCheckBox │
│ FObject │◄──┘ │ └───────────────┘ │ └───────────┘ │ FObject │◄──┘ │ └───────────────┘ │ └───────────┘
└─────────┘ │ ┌──────────────┐ │ ┌─────────┐ └─────────┘ │ ┌──────────────┐ │ ┌─────────┐
├────┤ FProgressbar │ └──┤ FSwitch │ ├────┤ FProgressbar │ └──┤ FSwitch │
│ └──────────────┘ └─────────┘ │ └──────────────┘ └─────────┘
│ ┌────────────┐ │ ┌────────────┐

View File

@ -45,13 +45,13 @@
: ┌--------┤ FRect │ : │ ┌───────────┐ : ┌--------┤ FRect │ : │ ┌───────────┐
: : └───────┘ : ├────┤ FLineEdit │ : : └───────┘ : ├────┤ FLineEdit │
:1 :1 : │ └───────────┘ :1 :1 : │ └───────────┘
┌─┴──┴──┐ : │ ┌──────────────┐ ┌──────────────┐ ┌─┴──┴──┐ ┌────────┐ : │ ┌──────────────┐ ┌──────────────┐
│ FTerm │◄────┐ :1 ├────┤ FButtonGroup │ ┌──┤ FRadioButton │ │ FTerm │◄───┤ FVTerm │◄──┐ :1 ├────┤ FButtonGroup │ ┌──┤ FRadioButton │
└───────┘ │ ┌────────┐ ┌────┴────┐ │ └──────────────┘ │ └──────────────┘ └───────┘ └────────┘ │ ┌────┴────┐ │ └──────────────┘ │ └──────────────┘
├─┤ FVTerm │◄──┤ FWidget │◄─┤ ┌───────────────┐ │ ┌───────────┐ ──┤ FWidget │◄─┤ ┌───────────────┐ │ ┌───────────┐
┌─────────┐ │ └────────┘ └─────────┘ ├────┤ FToggleButton │◄─┼──┤ FCheckBox │ ┌─────────┐ │ └─────────┘ ├────┤ FToggleButton │◄─┼──┤ FCheckBox │
│ FObject │◄──┘ │ └───────────────┘ │ └───────────┘ │ FObject │◄──┘ │ └───────────────┘ │ └───────────┘
└─────────┘ │ ┌──────────────┐ │ ┌─────────┐ └─────────┘ │ ┌──────────────┐ │ ┌─────────┐
├────┤ FProgressbar │ └──┤ FSwitch │ ├────┤ FProgressbar │ └──┤ FSwitch │
│ └──────────────┘ └─────────┘ │ └──────────────┘ └─────────┘
│ ┌────────────┐ │ ┌────────────┐

View File

@ -149,13 +149,14 @@ void move (int xold, int yold, int xnew, int ynew)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
int main (int argc, char* argv[]) int main (int argc, char* argv[])
{ {
bool init = true;
int xmax, ymax; int xmax, ymax;
// Create the application object // Create the application object
FApplication app(argc, argv); FApplication app(argc, argv);
// Create a FVTerm object as virtual terminal // Create a FVTerm object as virtual terminal
terminal = new FVTerm(&app); terminal = new FVTerm(init);
xmax = terminal->getColumnNumber() - 1; xmax = terminal->getColumnNumber() - 1;
ymax = terminal->getLineNumber() - 1; ymax = terminal->getLineNumber() - 1;
FString line(xmax + 1, '-'); FString line(xmax + 1, '-');

View File

@ -106,9 +106,10 @@ void tcapString (const std::string& name, const char* cap_str)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
int main (int argc, char* argv[]) int main (int argc, char* argv[])
{ {
bool init = true;
bool disable_alt_screen = true; bool disable_alt_screen = true;
FApplication app (argc, argv, disable_alt_screen); FApplication app (argc, argv, disable_alt_screen);
terminal = new FVTerm(&app); terminal = new FVTerm(init);
FTermcap::tcap_map* tcap = 0; FTermcap::tcap_map* tcap = 0;
tcap = FTermcap::getTermcapMap(); tcap = FTermcap::getTermcapMap();

329
icon/scalable/finalcut.svg Executable file → Normal file
View File

@ -8,212 +8,137 @@
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1" version="1.1"
width="100%" width="100%"
height="100%" height="100%"
viewBox="0 0 135 128" viewBox="0 0 135 128"
id="svg2" id="svg2"
xml:space="preserve" style="fill-rule:evenodd">
style="fill-rule:evenodd" <metadata
inkscape:version="0.48.5 r10040" id="metadata41">
sodipodi:docname="finalcut.svg" <rdf:RDF>
preserveAspectRatio="none"><sodipodi:namedview <cc:Work
pagecolor="#ffffff" rdf:about="">
bordercolor="#666666" <dc:format>image/svg+xml</dc:format>
borderopacity="1" <dc:type
objecttolerance="10" rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
gridtolerance="10" <dc:title></dc:title>
guidetolerance="10" </cc:Work>
inkscape:pageopacity="0" </rdf:RDF>
inkscape:pageshadow="2" </metadata>
inkscape:window-width="1600" <defs
inkscape:window-height="1116" id="defs39" />
id="namedview28" <radialGradient
showgrid="false" cx="134.06599"
inkscape:zoom="5.0743655" cy="79.788696"
inkscape:cx="139.69782" r="40.1213"
inkscape:cy="72.966485" fx="134.06599"
inkscape:window-x="0" fy="79.788696"
inkscape:window-y="27" id="a"
inkscape:window-maximized="1" gradientUnits="userSpaceOnUse">
inkscape:current-layer="svg2" /><metadata <stop
id="metadata249"><rdf:RDF><cc:Work id="stop5"
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type style="stop-color:#ffffff;stop-opacity:1"
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs offset="0" />
id="defs4"><radialGradient <stop
cx="103.3" id="stop7"
cy="92.3405" style="stop-color:#999999;stop-opacity:1"
r="3.1045001" offset="1" />
fx="103.3" </radialGradient>
fy="92.3405" <radialGradient
id="blue" cx="134.06599"
gradientUnits="userSpaceOnUse"><stop cy="79.788696"
id="stop5510" r="40.1213"
style="stop-color:#083c99;stop-opacity:1" fx="134.06599"
offset="0" /><stop fy="79.788696"
id="stop5512" id="b"
style="stop-color:#2f6299;stop-opacity:1" xlink:href="#a"
offset="1" /></radialGradient><linearGradient gradientUnits="userSpaceOnUse" />
id="linearGradient3954"><stop <radialGradient
id="stop3968" cx="119.382"
style="stop-color:#083c99;stop-opacity:1" cy="64.970802"
offset="0" /><stop r="39.561298"
id="stop3958" fx="119.382"
style="stop-color:#2f6299;stop-opacity:1" fy="64.970802"
offset="1" /></linearGradient><style id="c"
type="text/css" xlink:href="#a"
id="style6" /><radialGradient gradientUnits="userSpaceOnUse" />
cx="134.06599" <radialGradient
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="silver1"
gradientUnits="userSpaceOnUse"><stop
id="stop15"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" /><stop
id="stop17"
style="stop-color:#999999;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
cx="119.382"
cy="64.970802"
r="39.561298"
fx="119.382"
fy="64.970802"
id="silver2"
xlink:href="#silver1"
gradientUnits="userSpaceOnUse" /><radialGradient
cx="103.3"
cy="92.3405"
r="3.1045001"
fx="103.3"
fy="92.3405"
id="silver3"
gradientUnits="userSpaceOnUse"><stop
id="stop21"
style="stop-color:#999999;stop-opacity:1"
offset="0" /><stop
id="stop23"
style="stop-color:#e5e5e5;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="radialGradient3226"
xlink:href="#silver1"
gradientUnits="userSpaceOnUse" /><linearGradient
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364"
id="linearGradient5428"
xlink:href="#linearGradient3954"
gradientUnits="userSpaceOnUse" /><linearGradient
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798"
id="linearGradient5506"
xlink:href="#blue"
gradientUnits="userSpaceOnUse" /><radialGradient
inkscape:collect="always"
xlink:href="#silver1"
id="radialGradient3013"
gradientUnits="userSpaceOnUse"
cx="134.06599"
cy="79.788696"
fx="134.06599"
fy="79.788696"
r="40.1213" /><radialGradient
inkscape:collect="always"
xlink:href="#silver1"
id="radialGradient3015"
gradientUnits="userSpaceOnUse"
cx="119.382"
cy="64.970802"
fx="119.382"
fy="64.970802"
r="39.561298" /><radialGradient
inkscape:collect="always"
xlink:href="#silver3"
id="radialGradient3017"
gradientUnits="userSpaceOnUse"
cx="103.3"
cy="92.3405"
fx="103.3"
fy="92.3405"
r="3.1045001" /><linearGradient
inkscape:collect="always"
xlink:href="#blue"
id="linearGradient3019"
gradientUnits="userSpaceOnUse"
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3954"
id="linearGradient3021"
gradientUnits="userSpaceOnUse"
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3954"
id="linearGradient3792"
gradientUnits="userSpaceOnUse"
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><linearGradient
inkscape:collect="always"
xlink:href="#blue"
id="linearGradient3795"
gradientUnits="userSpaceOnUse"
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /></defs><polygon
points="93.9452,97.038 118.342,97.038 174.188,62.5394 95.5723,89.7399 "
id="polygon27"
style="fill:url(#radialGradient3013);stroke:#000000;stroke-width:0.70560127"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><polygon
points="96.9965,101.87 100.11,78.8019 141.768,28.0721 104.606,101.878 "
id="polygon29"
style="fill:url(#radialGradient3015);stroke:#000000;stroke-width:0.70560127"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><ellipse
d="m 106.29025,92.3405 c 0,1.473545 -1.33878,2.66809 -2.99025,2.66809 -1.65147,0 -2.99025,-1.194545 -2.99025,-2.66809 0,-1.473546 1.33878,-2.66809 2.99025,-2.66809 1.65147,0 2.99025,1.194544 2.99025,2.66809 z"
cx="103.3" cx="103.3"
cy="92.3405" cy="92.3405"
rx="2.9902501" r="3.1045001"
ry="2.6680901" id="d"
id="ellipse31" gradientUnits="userSpaceOnUse">
style="fill:url(#radialGradient3017);stroke:#000000;stroke-width:0.70560127" <stop
sodipodi:cx="103.3" id="stop12"
sodipodi:cy="92.3405" style="stop-color:#999999;stop-opacity:1"
sodipodi:rx="2.9902501" offset="0" />
sodipodi:ry="2.6680901" <stop
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><line id="stop14"
style="fill:none;stroke:#4c4c4c;stroke-width:0.70560002" style="stop-color:#e5e5e5;stop-opacity:1"
id="line33" offset="1" />
y2="66.227928" </radialGradient>
x2="65.941444" <linearGradient
y1="63.461025" id="e">
x1="60.834469" <stop
class="fil3 str1" /><path id="stop17"
d="m 41.238437,64.506627 c 1.583494,-3.7593 1.591294,-7.5783 0.0293,-10.9127 -3.627087,-7.7428 -15.768544,-9.6018 -26.687804,-4.2024 -10.9190611,5.3995 -16.6457405,15.9966 -12.8611541,23.7591 7.9326714,16.2694 39.2906581,1.0822 52.2337121,-2.4313 l 2.884289,-14.7432 -15.598343,8.5305 z m -14.566648,7.0191 c 6.957675,-3.4406 10.627362,-10.22 8.195071,-15.1393 -2.432692,-4.9192 -10.047764,-6.1183 -17.005539,-2.6778 -6.957675,3.4406 -10.627562,10.2201 -8.1950707,15.1393 2.4324917,4.9192 10.0476637,6.1184 17.0055387,2.6778 z" style="stop-color:#083c99;stop-opacity:1"
id="path139" offset="0" />
style="fill:url(#linearGradient3795);fill-opacity:1;stroke:#000000;stroke-width:0.70560002" <stop
inkscape:connector-curvature="0" /><path id="stop19"
d="m 59.194672,88.146527 c 3.994486,-0.8275 7.743772,-0.0976 10.713361,2.0792 6.896176,5.0533 6.375277,17.325803 -1.031496,26.996603 -7.406973,9.6701 -18.910132,13.2424 -25.795507,8.0296 -14.430948,-10.9256 6.526776,-38.760103 12.474055,-50.780803 l 15.022946,0.018 -11.383359,13.6574 z m -9.699765,12.935803 c 4.719283,-6.161803 12.079956,-8.453703 16.436541,-5.116503 4.356784,3.3375 4.062385,11.041103 -0.656898,17.203203 -4.720483,6.1614 -12.080556,8.4532 -16.437241,5.1162 -4.356884,-3.3365 -4.062285,-11.0407 0.657598,-17.2029 z" style="stop-color:#2f6299;stop-opacity:1"
id="path245" offset="1" />
style="fill:url(#linearGradient3792);fill-opacity:1;stroke:#000000;stroke-width:0.70560002;stroke-opacity:1" </linearGradient>
inkscape:connector-curvature="0" /></svg> <linearGradient
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364"
id="f"
xlink:href="#e"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" />
<linearGradient
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798"
id="g"
xlink:href="#e"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" />
<g
id="g23"
style="stroke:#000000">
<path
d="M 93.9452,97.038 H 118.342 L 174.188,62.5394 95.5723,89.7399 z"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)"
id="path25"
style="fill:url(#b);stroke-width:0.70560098" />
<path
d="M 96.9965,101.87 100.11,78.8019 141.768,28.0721 104.606,101.878 z"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)"
id="path27"
style="fill:url(#c);stroke-width:0.70560098" />
<ellipse
cx="103.3"
cy="92.3405"
rx="2.9902501"
ry="2.6680901"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)"
id="ellipse29"
style="fill:url(#d);stroke-width:0.70560098" />
</g>
<path
d="m 60.834469,63.461025 5.106975,2.766903"
id="path31"
style="fill:none;stroke:#4c4c4c;stroke-width:0.70560002" />
<path
d="m 41.238437,64.506627 c 1.583494,-3.7593 1.591294,-7.5783 0.0293,-10.9127 -3.627087,-7.7428 -15.768544,-9.6018 -26.687804,-4.2024 -10.9190611,5.3995 -16.6457405,15.9966 -12.8611541,23.7591 7.9326714,16.2694 39.2906581,1.0822 52.2337121,-2.4313 l 2.884289,-14.7432 z m -14.566648,7.0191 c 6.957675,-3.4406 10.627362,-10.22 8.195071,-15.1393 -2.432692,-4.9192 -10.047764,-6.1183 -17.005539,-2.6778 -6.957675,3.4406 -10.627562,10.2201 -8.1950707,15.1393 2.4324917,4.9192 10.0476637,6.1184 17.0055387,2.6778 z"
id="path33"
style="fill:url(#g);stroke:#000000;stroke-width:0.70560002" />
<path
d="m 59.194672,88.146527 c 3.994486,-0.8275 7.743772,-0.0976 10.713361,2.0792 6.896176,5.0533 6.375277,17.325803 -1.031496,26.996603 -7.406973,9.6701 -18.910132,13.2424 -25.795507,8.0296 -14.430948,-10.9256 6.526776,-38.760103 12.474055,-50.780803 l 15.022946,0.018 z m -9.699765,12.935803 c 4.719283,-6.161803 12.079956,-8.453703 16.436541,-5.116503 4.356784,3.3375 4.062385,11.041103 -0.656898,17.203203 -4.720483,6.1614 -12.080556,8.4532 -16.437241,5.1162 -4.356884,-3.3365 -4.062285,-11.0407 0.657598,-17.2029 z"
id="path35"
style="fill:url(#f);stroke:#000000;stroke-width:0.70560002" />
</svg>

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -29,17 +29,17 @@
* *
* *
* *
* 1 * * 1 *
* FVTerm -- - - - FString * FVTerm - - -- - - FString
* : * :
* : * :
* : * * : *
* :- - - - FPoint * :- - - FPoint
* : * :
* : * :
* : * * : *
* - - - - FRect * - - - FRect
* *
*/ */
#ifndef FVTERM_H #ifndef FVTERM_H
@ -51,7 +51,7 @@
// Preprocessing handler macro // Preprocessing handler macro
#define F_PREPROC_HANDLER(i,h) \ #define F_PREPROC_HANDLER(i,h) \
reinterpret_cast<FVTerm*>((i)) \ static_cast<FVTerm*>((i)) \
, reinterpret_cast<FVTerm::FPreprocessingHandler>((h)) , reinterpret_cast<FVTerm::FPreprocessingHandler>((h))
// class forward declaration // class forward declaration
@ -64,7 +64,7 @@ class FWidget;
#pragma pack(push) #pragma pack(push)
#pragma pack(1) #pragma pack(1)
class FVTerm : public FObject, public FTerm class FVTerm : public FTerm
{ {
public: public:
// Typedefs and Enumeration // Typedefs and Enumeration
@ -96,7 +96,7 @@ class FVTerm : public FObject, public FTerm
}; };
// Constructor // Constructor
explicit FVTerm (FVTerm* = 0, bool = false); explicit FVTerm (bool, bool = false);
// Destructor // Destructor
~FVTerm(); ~FVTerm();
@ -257,7 +257,6 @@ class FVTerm : public FObject, public FTerm
// Inquiries // Inquiries
bool hasPrintArea() const; bool hasPrintArea() const;
bool hasChildPrintArea() const; bool hasChildPrintArea() const;
bool isChildPrintArea() const;
bool isVirtualWindow() const; bool isVirtualWindow() const;
// Mutator // Mutator

View File

@ -114,7 +114,7 @@ class FMenuBar;
#pragma pack(push) #pragma pack(push)
#pragma pack(1) #pragma pack(1)
class FWidget : public FVTerm class FWidget : public FObject, public FVTerm
{ {
public: public:
// Using-declaration // Using-declaration
@ -318,6 +318,12 @@ class FWidget : public FVTerm
typedef std::vector<callback_data> CallbackObjects; typedef std::vector<callback_data> CallbackObjects;
typedef std::vector<member_callback_data> MemberCallbackObjects; typedef std::vector<member_callback_data> MemberCallbackObjects;
// Accessor
term_area* getPrintArea();
// Inquiry
bool isChildPrintArea() const;
// Mutators // Mutators
virtual void setStatusBar (FStatusBar*); virtual void setStatusBar (FStatusBar*);
virtual void setMenuBar (FMenuBar*); virtual void setMenuBar (FMenuBar*);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

417
logo/svg/finalcut-logo.svg Executable file → Normal file
View File

@ -8,296 +8,149 @@
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1" version="1.1"
width="100%" width="100%"
height="100%" height="100%"
viewBox="0 0 750 128" viewBox="0 0 750 128"
id="svg2" id="svg2"
xml:space="preserve" style="fill-rule:evenodd">
style="fill-rule:evenodd" <metadata
inkscape:version="0.48.5 r10040" id="metadata45">
sodipodi:docname="finalcut-logo.svg" <rdf:RDF>
preserveAspectRatio="none"><sodipodi:namedview <cc:Work
pagecolor="#ffffff" rdf:about="">
bordercolor="#666666" <dc:format>image/svg+xml</dc:format>
borderopacity="1" <dc:type
objecttolerance="10" rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
gridtolerance="10" <dc:title></dc:title>
guidetolerance="10" </cc:Work>
inkscape:pageopacity="0" </rdf:RDF>
inkscape:pageshadow="2" </metadata>
inkscape:window-width="1600" <defs
inkscape:window-height="1116" id="defs43" />
id="namedview28" <radialGradient
showgrid="false" cx="134.06599"
inkscape:zoom="1.2" cy="79.788696"
inkscape:cx="341.2437" r="40.1213"
inkscape:cy="2.4584348" fx="134.06599"
inkscape:window-x="0" fy="79.788696"
inkscape:window-y="27" id="a"
inkscape:window-maximized="1" gradientUnits="userSpaceOnUse">
inkscape:current-layer="svg2" <stop
showborder="true" id="stop5"
inkscape:showpageshadow="true" style="stop-color:#ffffff;stop-opacity:1"
borderlayer="false" /><metadata offset="0" />
id="metadata249"><rdf:RDF><cc:Work <stop
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type id="stop7"
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs style="stop-color:#999999;stop-opacity:1"
id="defs4"><radialGradient offset="1" />
cx="103.3" </radialGradient>
cy="92.3405" <radialGradient
r="3.1045001" cx="134.06599"
fx="103.3" cy="79.788696"
fy="92.3405" r="40.1213"
id="blue" fx="134.06599"
gradientUnits="userSpaceOnUse"><stop fy="79.788696"
id="stop5510" id="b"
style="stop-color:#083c99;stop-opacity:1" xlink:href="#a"
offset="0" /><stop gradientUnits="userSpaceOnUse" />
id="stop5512" <radialGradient
style="stop-color:#2f6299;stop-opacity:1" cx="119.382"
offset="1" /></radialGradient><linearGradient cy="64.970802"
id="linearGradient3954"><stop r="39.561298"
id="stop3968" fx="119.382"
style="stop-color:#083c99;stop-opacity:1" fy="64.970802"
offset="0" /><stop id="c"
id="stop3958" xlink:href="#a"
style="stop-color:#2f6299;stop-opacity:1" gradientUnits="userSpaceOnUse" />
offset="1" /></linearGradient><style <radialGradient
type="text/css"
id="style6" /><radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="silver1"
gradientUnits="userSpaceOnUse"><stop
id="stop15"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" /><stop
id="stop17"
style="stop-color:#999999;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
cx="119.382"
cy="64.970802"
r="39.561298"
fx="119.382"
fy="64.970802"
id="silver2"
xlink:href="#silver1"
gradientUnits="userSpaceOnUse" /><radialGradient
cx="103.3"
cy="92.3405"
r="3.1045001"
fx="103.3"
fy="92.3405"
id="silver3"
gradientUnits="userSpaceOnUse"><stop
id="stop21"
style="stop-color:#999999;stop-opacity:1"
offset="0" /><stop
id="stop23"
style="stop-color:#e5e5e5;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="radialGradient3226"
xlink:href="#silver1"
gradientUnits="userSpaceOnUse" /><linearGradient
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364"
id="linearGradient5428"
xlink:href="#linearGradient3954"
gradientUnits="userSpaceOnUse" /><linearGradient
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798"
id="linearGradient5506"
xlink:href="#blue"
gradientUnits="userSpaceOnUse" /><radialGradient
inkscape:collect="always"
xlink:href="#silver1"
id="radialGradient3013"
gradientUnits="userSpaceOnUse"
cx="134.06599"
cy="79.788696"
fx="134.06599"
fy="79.788696"
r="40.1213" /><radialGradient
inkscape:collect="always"
xlink:href="#silver1"
id="radialGradient3015"
gradientUnits="userSpaceOnUse"
cx="119.382"
cy="64.970802"
fx="119.382"
fy="64.970802"
r="39.561298" /><radialGradient
inkscape:collect="always"
xlink:href="#silver3"
id="radialGradient3017"
gradientUnits="userSpaceOnUse"
cx="103.3"
cy="92.3405"
fx="103.3"
fy="92.3405"
r="3.1045001" /><linearGradient
inkscape:collect="always"
xlink:href="#blue"
id="linearGradient3019"
gradientUnits="userSpaceOnUse"
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3954"
id="linearGradient3021"
gradientUnits="userSpaceOnUse"
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3954"
id="linearGradient3792"
gradientUnits="userSpaceOnUse"
x1="77.73394"
y1="128.45364"
x2="115.10606"
y2="128.45364"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><linearGradient
inkscape:collect="always"
xlink:href="#blue"
id="linearGradient3795"
gradientUnits="userSpaceOnUse"
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><linearGradient
id="linearGradient3954-4"><stop
id="stop3968-1"
style="stop-color:#083c99;stop-opacity:1"
offset="0" /><stop
id="stop3958-6"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" /></linearGradient><radialGradient
cx="103.3"
cy="92.3405"
r="3.1045001"
fx="103.3"
fy="92.3405"
id="blue-6"
gradientUnits="userSpaceOnUse"><stop
id="stop5510-4"
style="stop-color:#083c99;stop-opacity:1"
offset="0" /><stop
id="stop5512-8"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
cx="103.3"
cy="92.3405"
r="3.1045001"
fx="103.3"
fy="92.3405"
id="silver3-6"
gradientUnits="userSpaceOnUse"><stop
id="stop21-4"
style="stop-color:#999999;stop-opacity:1"
offset="0" /><stop
id="stop23-9"
style="stop-color:#e5e5e5;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="silver1-4"
gradientUnits="userSpaceOnUse"><stop
id="stop15-6"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" /><stop
id="stop17-8"
style="stop-color:#999999;stop-opacity:1"
offset="1" /></radialGradient><radialGradient
inkscape:collect="always"
xlink:href="#silver1-4"
id="radialGradient3013-7"
gradientUnits="userSpaceOnUse"
cx="134.06599"
cy="79.788696"
fx="134.06599"
fy="79.788696"
r="40.1213" /><radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="radialGradient3921"
gradientUnits="userSpaceOnUse"><stop
id="stop3923"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" /><stop
id="stop3925"
style="stop-color:#999999;stop-opacity:1"
offset="1" /></radialGradient></defs><polygon
points="95.5723,89.7399 93.9452,97.038 118.342,97.038 174.188,62.5394 "
id="polygon27"
style="fill:url(#radialGradient3013);stroke:#000000;stroke-width:0.70560127"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><polygon
points="104.606,101.878 96.9965,101.87 100.11,78.8019 141.768,28.0721 "
id="polygon29"
style="fill:url(#radialGradient3015);stroke:#000000;stroke-width:0.70560127"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><ellipse
d="m 106.29025,92.3405 c 0,1.473545 -1.33878,2.66809 -2.99025,2.66809 -1.65147,0 -2.99025,-1.194545 -2.99025,-2.66809 0,-1.473546 1.33878,-2.66809 2.99025,-2.66809 1.65147,0 2.99025,1.194544 2.99025,2.66809 z"
cx="103.3" cx="103.3"
cy="92.3405" cy="92.3405"
rx="2.9902501" r="3.1045001"
ry="2.6680901" id="d"
id="ellipse31" gradientUnits="userSpaceOnUse">
style="fill:url(#radialGradient3017);stroke:#000000;stroke-width:0.70560127" <stop
sodipodi:cx="103.3" id="stop12"
sodipodi:cy="92.3405" style="stop-color:#999999;stop-opacity:1"
sodipodi:rx="2.9902501" offset="0" />
sodipodi:ry="2.6680901" <stop
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><line id="stop14"
style="fill:none;stroke:#4c4c4c;stroke-width:0.70560002" style="stop-color:#e5e5e5;stop-opacity:1"
id="line33" offset="1" />
y2="66.227928" </radialGradient>
x2="65.941444" <linearGradient
y1="63.461025" id="e">
x1="60.834469" <stop
class="fil3 str1" /><path id="stop17"
d="m 41.238437,64.506627 c 1.583494,-3.7593 1.591294,-7.5783 0.0293,-10.9127 -3.627087,-7.7428 -15.768544,-9.6018 -26.687804,-4.2024 -10.9190611,5.3995 -16.6457405,15.9966 -12.8611541,23.7591 7.9326714,16.2694 39.2906581,1.0822 52.2337121,-2.4313 l 2.884289,-14.7432 -15.598343,8.5305 z m -14.566648,7.0191 c 6.957675,-3.4406 10.627362,-10.22 8.195071,-15.1393 -2.432692,-4.9192 -10.047764,-6.1183 -17.005539,-2.6778 -6.957675,3.4406 -10.627562,10.2201 -8.1950707,15.1393 2.4324917,4.9192 10.0476637,6.1184 17.0055387,2.6778 z" style="stop-color:#083c99;stop-opacity:1"
id="path139" offset="0" />
style="fill:url(#linearGradient3795);fill-opacity:1;stroke:#000000;stroke-width:0.70599997;stroke-miterlimit:4;stroke-dasharray:none" <stop
inkscape:connector-curvature="0" /><path id="stop19"
d="m 59.194672,88.146527 c 3.994486,-0.8275 7.743772,-0.0976 10.713361,2.0792 6.896176,5.0533 6.375277,17.325803 -1.031496,26.996603 -7.406973,9.6701 -18.910132,13.2424 -25.795507,8.0296 -14.430948,-10.9256 6.526776,-38.760103 12.474055,-50.780803 l 15.022946,0.018 -11.383359,13.6574 z m -9.699765,12.935803 c 4.719283,-6.161803 12.079956,-8.453703 16.436541,-5.116503 4.356784,3.3375 4.062385,11.041103 -0.656898,17.203203 -4.720483,6.1614 -12.080556,8.4532 -16.437241,5.1162 -4.356884,-3.3365 -4.062285,-11.0407 0.657598,-17.2029 z" style="stop-color:#2f6299;stop-opacity:1"
id="path245" offset="1" />
style="fill:url(#linearGradient3792);fill-opacity:1;stroke:#000000;stroke-width:0.70560002;stroke-opacity:1" </linearGradient>
inkscape:connector-curvature="0" /><text <linearGradient
xml:space="preserve" x1="77.73394"
style="font-size:95.99999989px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#083c99;fill-opacity:1;fill-rule:evenodd;stroke:#00173d;font-family:FreeSans;-inkscape-font-specification:FreeSans Semi-Bold;stroke-opacity:1" y1="128.45364"
x2="115.10606"
y2="128.45364"
id="f"
xlink:href="#e"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" />
<linearGradient
x1="40.181316"
y1="90.812798"
x2="97.171097"
y2="90.812798"
id="g"
xlink:href="#e"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" />
<g
id="g23"
style="stroke:#000000;stroke-width:0.70560098">
<path
d="M 95.5723,89.7399 93.9452,97.038 H 118.342 L 174.188,62.5394 z"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)"
id="path25"
style="fill:url(#b)" />
<path
d="M 104.606,101.878 96.9965,101.87 100.11,78.8019 141.768,28.0721 z"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)"
id="path27"
style="fill:url(#c)" />
<ellipse
cx="103.3"
cy="92.3405"
rx="2.9902501"
ry="2.6680901"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)"
id="ellipse29"
style="fill:url(#d)" />
</g>
<path
d="m 60.834469,63.461025 5.106975,2.766903"
id="path31"
style="fill:none;stroke:#4c4c4c;stroke-width:0.70560002" />
<path
d="m 41.238437,64.506627 c 1.583494,-3.7593 1.591294,-7.5783 0.0293,-10.9127 -3.627087,-7.7428 -15.768544,-9.6018 -26.687804,-4.2024 -10.9190611,5.3995 -16.6457405,15.9966 -12.8611541,23.7591 7.9326714,16.2694 39.2906581,1.0822 52.2337121,-2.4313 l 2.884289,-14.7432 z m -14.566648,7.0191 c 6.957675,-3.4406 10.627362,-10.22 8.195071,-15.1393 -2.432692,-4.9192 -10.047764,-6.1183 -17.005539,-2.6778 -6.957675,3.4406 -10.627562,10.2201 -8.1950707,15.1393 2.4324917,4.9192 10.0476637,6.1184 17.0055387,2.6778 z"
id="path33"
style="fill:url(#g);stroke:#000000;stroke-width:0.70599997" />
<path
d="m 59.194672,88.146527 c 3.994486,-0.8275 7.743772,-0.0976 10.713361,2.0792 6.896176,5.0533 6.375277,17.325803 -1.031496,26.996603 -7.406973,9.6701 -18.910132,13.2424 -25.795507,8.0296 -14.430948,-10.9256 6.526776,-38.760103 12.474055,-50.780803 l 15.022946,0.018 z m -9.699765,12.935803 c 4.719283,-6.161803 12.079956,-8.453703 16.436541,-5.116503 4.356784,3.3375 4.062385,11.041103 -0.656898,17.203203 -4.720483,6.1614 -12.080556,8.4532 -16.437241,5.1162 -4.356884,-3.3365 -4.062285,-11.0407 0.657598,-17.2029 z"
id="path35"
style="fill:url(#f);stroke:#000000;stroke-width:0.70560002" />
<text
x="471.83469" x="471.83469"
y="91.775856" y="91.775856"
id="text3011-4-6" transform="scale(0.95126779,1.0512287)"
sodipodi:linespacing="125%" id="text37"
transform="scale(0.95126779,1.0512287)"><tspan style="font-size:96px;font-weight:600;letter-spacing:0;word-spacing:0;writing-mode:lr-tb;text-anchor:middle;fill:#083c99;fill-rule:evenodd;stroke:#00173d;font-family:FreeSans">
sodipodi:role="line" <tspan
x="471.83469" x="471.83469"
y="91.775856" y="91.775856"
style="font-size:95.99999989px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr;text-anchor:middle;fill:#083c99;fill-opacity:1;font-family:FreeSans;-inkscape-font-specification:FreeSans Semi-Bold;stroke:#00173d;stroke-opacity:1" id="tspan39"
id="tspan3015-7-2">The Final Cut</tspan></text> style="font-size:96px;font-weight:600;writing-mode:lr-tb;text-anchor:middle;fill:#083c99;stroke:#00173d;font-family:FreeSans">The Final Cut</tspan>
</svg> </text>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -737,7 +737,7 @@ void FListView::onKeyPress (FKeyEvent* ev)
// Collapse element // Collapse element
item->collapse(); item->collapse();
adjustSize(); adjustSize();
int element_count = int(getCount()); element_count = int(getCount());
recalculateVerticalBar (element_count); recalculateVerticalBar (element_count);
// Force vertical scrollbar redraw // Force vertical scrollbar redraw
first_line_position_before = -1; first_line_position_before = -1;

View File

@ -55,19 +55,16 @@ FVTerm::char_data FVTerm::next_attribute;
// constructors and destructor // constructors and destructor
//---------------------------------------------------------------------- //----------------------------------------------------------------------
FVTerm::FVTerm (FVTerm* parent, bool disable_alt_screen) FVTerm::FVTerm (bool initialize, bool disable_alt_screen)
: FObject(parent) : FTerm(disable_alt_screen)
, FTerm(disable_alt_screen)
, print_area(0) , print_area(0)
, child_print_area(0) , child_print_area(0)
, vwin(0) , vwin(0)
{ {
terminal_update_complete = false; terminal_update_complete = false;
if ( ! parent ) if ( initialize )
{
init(); init();
}
} }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
@ -808,23 +805,14 @@ FVTerm::term_area* FVTerm::getPrintArea()
return print_area; return print_area;
else else
{ {
FVTerm* obj = static_cast<FVTerm*>(this); if ( vwin )
FVTerm* p_obj = static_cast<FVTerm*>(obj->getParent());
while ( ! obj->vwin && ! obj->child_print_area && p_obj )
{ {
obj = p_obj; print_area = vwin;
p_obj = static_cast<FVTerm*>(p_obj->getParent());
}
if ( obj->vwin )
{
print_area = obj->vwin;
return print_area; return print_area;
} }
else if ( obj->child_print_area ) else if ( child_print_area )
{ {
print_area = obj->child_print_area; print_area = child_print_area;
return print_area; return print_area;
} }
} }
@ -832,19 +820,6 @@ FVTerm::term_area* FVTerm::getPrintArea()
return vdesktop; return vdesktop;
} }
//----------------------------------------------------------------------
bool FVTerm::isChildPrintArea() const
{
FVTerm* p_obj = static_cast<FVTerm*>(getParent());
if ( p_obj
&& p_obj->child_print_area
&& p_obj->child_print_area == print_area )
return true;
else
return false;
}
//---------------------------------------------------------------------- //----------------------------------------------------------------------
void FVTerm::setInsertCursorStyle (bool on) void FVTerm::setInsertCursorStyle (bool on)
{ {

View File

@ -53,7 +53,8 @@ bool FWidget::hideable;
// constructors and destructor // constructors and destructor
//---------------------------------------------------------------------- //----------------------------------------------------------------------
FWidget::FWidget (FWidget* parent, bool disable_alt_screen) FWidget::FWidget (FWidget* parent, bool disable_alt_screen)
: FVTerm(parent, disable_alt_screen) : FObject(parent)
, FVTerm(!parent, disable_alt_screen)
, accelerator_list(0) , accelerator_list(0)
, flags(0) , flags(0)
, callback_objects() , callback_objects()
@ -1757,6 +1758,52 @@ void FWidget::quit()
// protected methods of FWidget // protected methods of FWidget
//----------------------------------------------------------------------
FVTerm::term_area* FWidget::getPrintArea()
{
// returns the print area of this object
if ( print_area )
return print_area;
else
{
FWidget* obj = this;
FWidget* p_obj = static_cast<FWidget*>(obj->getParent());
while ( ! obj->vwin && ! obj->child_print_area && p_obj )
{
obj = p_obj;
p_obj = static_cast<FWidget*>(p_obj->getParent());
}
if ( obj->vwin )
{
print_area = obj->vwin;
return print_area;
}
else if ( obj->child_print_area )
{
print_area = obj->child_print_area;
return print_area;
}
}
return vdesktop;
}
//----------------------------------------------------------------------
bool FWidget::isChildPrintArea() const
{
FWidget* p_obj = static_cast<FWidget*>(getParent());
if ( p_obj
&& p_obj->child_print_area
&& p_obj->child_print_area == print_area )
return true;
else
return false;
}
//---------------------------------------------------------------------- //----------------------------------------------------------------------
void FWidget::setStatusBar (FStatusBar* sbar) void FWidget::setStatusBar (FStatusBar* sbar)
{ {