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>
* A FListView tree branch can now be expand and collapsed
with a single click

View File

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

View File

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

View File

@ -149,13 +149,14 @@ void move (int xold, int yold, int xnew, int ynew)
//----------------------------------------------------------------------
int main (int argc, char* argv[])
{
bool init = true;
int xmax, ymax;
// Create the application object
FApplication app(argc, argv);
// Create a FVTerm object as virtual terminal
terminal = new FVTerm(&app);
terminal = new FVTerm(init);
xmax = terminal->getColumnNumber() - 1;
ymax = terminal->getLineNumber() - 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[])
{
bool init = true;
bool disable_alt_screen = true;
FApplication app (argc, argv, disable_alt_screen);
terminal = new FVTerm(&app);
terminal = new FVTerm(init);
FTermcap::tcap_map* tcap = 0;
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="http://www.w3.org/2000/svg"
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"
width="100%"
height="100%"
viewBox="0 0 135 128"
id="svg2"
xml:space="preserve"
style="fill-rule:evenodd"
inkscape:version="0.48.5 r10040"
sodipodi:docname="finalcut.svg"
preserveAspectRatio="none"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1600"
inkscape:window-height="1116"
id="namedview28"
showgrid="false"
inkscape:zoom="5.0743655"
inkscape:cx="139.69782"
inkscape:cy="72.966485"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" /><metadata
id="metadata249"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs4"><radialGradient
cx="103.3"
cy="92.3405"
r="3.1045001"
fx="103.3"
fy="92.3405"
id="blue"
gradientUnits="userSpaceOnUse"><stop
id="stop5510"
style="stop-color:#083c99;stop-opacity:1"
offset="0" /><stop
id="stop5512"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" /></radialGradient><linearGradient
id="linearGradient3954"><stop
id="stop3968"
style="stop-color:#083c99;stop-opacity:1"
offset="0" /><stop
id="stop3958"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" /></linearGradient><style
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)" /></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"
style="fill-rule:evenodd">
<metadata
id="metadata41">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs39" />
<radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="a"
gradientUnits="userSpaceOnUse">
<stop
id="stop5"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop7"
style="stop-color:#999999;stop-opacity:1"
offset="1" />
</radialGradient>
<radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="b"
xlink:href="#a"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="119.382"
cy="64.970802"
r="39.561298"
fx="119.382"
fy="64.970802"
id="c"
xlink:href="#a"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="103.3"
cy="92.3405"
rx="2.9902501"
ry="2.6680901"
id="ellipse31"
style="fill:url(#radialGradient3017);stroke:#000000;stroke-width:0.70560127"
sodipodi:cx="103.3"
sodipodi:cy="92.3405"
sodipodi:rx="2.9902501"
sodipodi:ry="2.6680901"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><line
style="fill:none;stroke:#4c4c4c;stroke-width:0.70560002"
id="line33"
y2="66.227928"
x2="65.941444"
y1="63.461025"
x1="60.834469"
class="fil3 str1" /><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 -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"
id="path139"
style="fill:url(#linearGradient3795);fill-opacity:1;stroke:#000000;stroke-width:0.70560002"
inkscape:connector-curvature="0" /><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 -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"
id="path245"
style="fill:url(#linearGradient3792);fill-opacity:1;stroke:#000000;stroke-width:0.70560002;stroke-opacity:1"
inkscape:connector-curvature="0" /></svg>
r="3.1045001"
id="d"
gradientUnits="userSpaceOnUse">
<stop
id="stop12"
style="stop-color:#999999;stop-opacity:1"
offset="0" />
<stop
id="stop14"
style="stop-color:#e5e5e5;stop-opacity:1"
offset="1" />
</radialGradient>
<linearGradient
id="e">
<stop
id="stop17"
style="stop-color:#083c99;stop-opacity:1"
offset="0" />
<stop
id="stop19"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" />
</linearGradient>
<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 *
* FVTerm -- - - - FString
* :
* :
* : *
* :- - - - FPoint
* :
* :
* : *
* - - - - FRect
*
* 1 *
* FVTerm - - -- - - FString
* :
* :
* : *
* :- - - FPoint
* :
* :
* : *
* - - - FRect
*
*/
#ifndef FVTERM_H
@ -51,7 +51,7 @@
// Preprocessing handler macro
#define F_PREPROC_HANDLER(i,h) \
reinterpret_cast<FVTerm*>((i)) \
static_cast<FVTerm*>((i)) \
, reinterpret_cast<FVTerm::FPreprocessingHandler>((h))
// class forward declaration
@ -64,7 +64,7 @@ class FWidget;
#pragma pack(push)
#pragma pack(1)
class FVTerm : public FObject, public FTerm
class FVTerm : public FTerm
{
public:
// Typedefs and Enumeration
@ -96,7 +96,7 @@ class FVTerm : public FObject, public FTerm
};
// Constructor
explicit FVTerm (FVTerm* = 0, bool = false);
explicit FVTerm (bool, bool = false);
// Destructor
~FVTerm();
@ -257,7 +257,6 @@ class FVTerm : public FObject, public FTerm
// Inquiries
bool hasPrintArea() const;
bool hasChildPrintArea() const;
bool isChildPrintArea() const;
bool isVirtualWindow() const;
// Mutator

View File

@ -114,7 +114,7 @@ class FMenuBar;
#pragma pack(push)
#pragma pack(1)
class FWidget : public FVTerm
class FWidget : public FObject, public FVTerm
{
public:
// Using-declaration
@ -318,6 +318,12 @@ class FWidget : public FVTerm
typedef std::vector<callback_data> CallbackObjects;
typedef std::vector<member_callback_data> MemberCallbackObjects;
// Accessor
term_area* getPrintArea();
// Inquiry
bool isChildPrintArea() const;
// Mutators
virtual void setStatusBar (FStatusBar*);
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="http://www.w3.org/2000/svg"
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"
width="100%"
height="100%"
viewBox="0 0 750 128"
id="svg2"
xml:space="preserve"
style="fill-rule:evenodd"
inkscape:version="0.48.5 r10040"
sodipodi:docname="finalcut-logo.svg"
preserveAspectRatio="none"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1600"
inkscape:window-height="1116"
id="namedview28"
showgrid="false"
inkscape:zoom="1.2"
inkscape:cx="341.2437"
inkscape:cy="2.4584348"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
showborder="true"
inkscape:showpageshadow="true"
borderlayer="false" /><metadata
id="metadata249"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs4"><radialGradient
cx="103.3"
cy="92.3405"
r="3.1045001"
fx="103.3"
fy="92.3405"
id="blue"
gradientUnits="userSpaceOnUse"><stop
id="stop5510"
style="stop-color:#083c99;stop-opacity:1"
offset="0" /><stop
id="stop5512"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" /></radialGradient><linearGradient
id="linearGradient3954"><stop
id="stop3968"
style="stop-color:#083c99;stop-opacity:1"
offset="0" /><stop
id="stop3958"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" /></linearGradient><style
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"
style="fill-rule:evenodd">
<metadata
id="metadata45">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs43" />
<radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="a"
gradientUnits="userSpaceOnUse">
<stop
id="stop5"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop7"
style="stop-color:#999999;stop-opacity:1"
offset="1" />
</radialGradient>
<radialGradient
cx="134.06599"
cy="79.788696"
r="40.1213"
fx="134.06599"
fy="79.788696"
id="b"
xlink:href="#a"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="119.382"
cy="64.970802"
r="39.561298"
fx="119.382"
fy="64.970802"
id="c"
xlink:href="#a"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="103.3"
cy="92.3405"
rx="2.9902501"
ry="2.6680901"
id="ellipse31"
style="fill:url(#radialGradient3017);stroke:#000000;stroke-width:0.70560127"
sodipodi:cx="103.3"
sodipodi:cy="92.3405"
sodipodi:rx="2.9902501"
sodipodi:ry="2.6680901"
transform="matrix(0.9999964,0,0,1,-39.981171,-27.394473)" /><line
style="fill:none;stroke:#4c4c4c;stroke-width:0.70560002"
id="line33"
y2="66.227928"
x2="65.941444"
y1="63.461025"
x1="60.834469"
class="fil3 str1" /><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 -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"
id="path139"
style="fill:url(#linearGradient3795);fill-opacity:1;stroke:#000000;stroke-width:0.70599997;stroke-miterlimit:4;stroke-dasharray:none"
inkscape:connector-curvature="0" /><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 -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"
id="path245"
style="fill:url(#linearGradient3792);fill-opacity:1;stroke:#000000;stroke-width:0.70560002;stroke-opacity:1"
inkscape:connector-curvature="0" /><text
xml:space="preserve"
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"
r="3.1045001"
id="d"
gradientUnits="userSpaceOnUse">
<stop
id="stop12"
style="stop-color:#999999;stop-opacity:1"
offset="0" />
<stop
id="stop14"
style="stop-color:#e5e5e5;stop-opacity:1"
offset="1" />
</radialGradient>
<linearGradient
id="e">
<stop
id="stop17"
style="stop-color:#083c99;stop-opacity:1"
offset="0" />
<stop
id="stop19"
style="stop-color:#2f6299;stop-opacity:1"
offset="1" />
</linearGradient>
<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;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"
y="91.775856"
id="text3011-4-6"
sodipodi:linespacing="125%"
transform="scale(0.95126779,1.0512287)"><tspan
sodipodi:role="line"
transform="scale(0.95126779,1.0512287)"
id="text37"
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">
<tspan
x="471.83469"
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="tspan3015-7-2">The Final Cut</tspan></text>
</svg>
id="tspan39"
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>
</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
item->collapse();
adjustSize();
int element_count = int(getCount());
element_count = int(getCount());
recalculateVerticalBar (element_count);
// Force vertical scrollbar redraw
first_line_position_before = -1;

View File

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

View File

@ -53,7 +53,8 @@ bool FWidget::hideable;
// constructors and destructor
//----------------------------------------------------------------------
FWidget::FWidget (FWidget* parent, bool disable_alt_screen)
: FVTerm(parent, disable_alt_screen)
: FObject(parent)
, FVTerm(!parent, disable_alt_screen)
, accelerator_list(0)
, flags(0)
, callback_objects()
@ -1757,6 +1758,52 @@ void FWidget::quit()
// 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)
{