123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199 |
- #include "AuswahlBox.h"
- #include "AlphaFeld.h"
- #include "Bild.h"
- #include "MausEreignis.h"
- #include "TastaturEreignis.h"
- #include "Rahmen.h"
- #include "Scroll.h"
- #include "TextFeld.h"
- #include "Knopf.h"
- #include "Text.h"
- #include "Schrift.h"
- #include "ToolTip.h"
- using namespace Framework;
- // Inhalt der AuswahlBox Klasse aus AuswahlBox.h
- // Konstruktor
- AuswahlBox::AuswahlBox()
- : ZeichnungHintergrund(),
- textRd( 0 ),
- msStyle( 0 ),
- members( new RCArray< TextFeld >() ),
- ausfahren( new Knopf() ),
- auswRahmen( new LRahmen() ),
- auswBgF( 0xFF000000 ),
- auswBgB( 0 ),
- auswAf( new AlphaFeld() ),
- msAuswRahmen( 0 ),
- msAuswBgF( 0 ),
- msAuswBgB( 0 ),
- msAuswAf( 0 ),
- mausRahmen( new LRahmen() ),
- mausBgF( 0xFF000000 ),
- mausBgB( 0 ),
- mausAf( new AlphaFeld() ),
- msMausRahmen( 0 ),
- msMausBgF( 0 ),
- msMausBgB( 0 ),
- msMausAf( 0 ),
- anzahl( 0 ),
- auswahl( 0 ),
- ausgeklappt( 0 ),
- ausklappHeight( 0 ),
- ausklapMaxHeight( 200 ),
- eintragHeight( 15 ),
- tickval( 0 ),
- mausEintrag( 0 ),
- scrollAnzeigen( 0 ),
- eAkP( 0 ),
- eAk( 0 )
- {
- vertikalScrollBar = new VScrollBar();
- style = Style::Normal;
- rahmen = new LRahmen();
- rahmen->setFarbe( 0xFFFFFFFF );
- rahmen->setRamenBreite( 1 );
- ausfahren->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::KlickBuffer );
- ausfahren->setKBFarbe( 0xA0000000 );
- ausfahren->setKBStrength( 10 );
- ausfahren->setSize( 18, 18 );
- ausfahren->setSchriftFarbe( 0xFFFFFFFF );
- ausfahren->setText( "\\/" );
- auswRahmen->setFarbe( 0xFF00FF00 );
- auswRahmen->setRamenBreite( 1 );
- auswAf->setFarbe( 0xA000FF00 );
- auswAf->setStrength( 7 );
- mausRahmen->setFarbe( 0xFF00FF00 );
- mausRahmen->setRamenBreite( 1 );
- mausAf->setFarbe( 0x5000FF00 );
- mausAf->setStrength( 7 );
- gr.x = 20;
- gr.y = 20;
- }
- // Destruktor
- AuswahlBox::~AuswahlBox()
- {
- if( textRd )
- textRd->release();
- if( msStyle )
- msStyle->release();
- if( members )
- members->release();
- if( ausfahren )
- ausfahren->release();
- if( auswRahmen )
- auswRahmen->release();
- if( auswBgB )
- auswBgB->release();
- if( auswAf )
- auswAf->release();
- if( msAuswRahmen )
- msAuswRahmen->release();
- if( msAuswAf )
- msAuswAf->release();
- if( msAuswBgB )
- msAuswBgB->release();
- if( msAuswBgF )
- msAuswBgF->release();
- if( mausRahmen )
- mausRahmen->release();
- if( mausAf )
- mausAf->release();
- if( mausBgB )
- mausBgB->release();
- if( msMausRahmen )
- msMausRahmen->release();
- if( msMausAf )
- msMausAf->release();
- if( msMausBgB )
- msMausBgB->release();
- if( msMausBgF )
- msMausBgF->release();
- }
- // nicht constant
- void AuswahlBox::setEventParam( void *p ) // setzt den Event Parameter
- {
- eAkP = p;
- }
- void AuswahlBox::setEventAktion( std::function< void( void *, AuswahlBox *, int, int ) > event ) // setzt die Event Funktion
- {
- this->eAk = event;
- }
- void AuswahlBox::setSchriftZ( Schrift *schrift ) // setzt die schrift
- {
- if( !this->textRd )
- textRd = new TextRenderer( schrift );
- else
- textRd->setSchriftZ( schrift );
- ausfahren->setSchriftZ( schrift->getThis() );
- rend = 1;
- }
- void AuswahlBox::setTextRendererZ( TextRenderer *textRd )
- {
- if( this->textRd )
- this->textRd->release();
- this->textRd = textRd;
- }
- void AuswahlBox::addEintrag( const char *txt ) // Eintrag hinzufügen
- {
- TextFeld *tf = new TextFeld();
- if( textRd )
- tf->setSchriftZ( textRd->getSchrift() );
- tf->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center | TextFeld::Style::Rahmen );
- tf->setText( txt );
- tf->setSchriftFarbe( 0xFFFFFFFF );
- tf->setRahmenFarbe( 0xFFFFFFFF );
- tf->setSize( 0, eintragHeight );
- members->add( tf, anzahl );
- ++anzahl;
- rend = 1;
- }
- void AuswahlBox::addEintrag( Text *txt )
- {
- TextFeld *tf = new TextFeld();
- if( textRd )
- tf->setSchriftZ( textRd->getSchrift() );
- tf->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center | TextFeld::Style::Rahmen );
- tf->setText( txt );
- tf->setSchriftFarbe( 0xFFFFFFFF );
- tf->setRahmenFarbe( 0xFFFFFFFF );
- tf->setSize( 0, eintragHeight );
- members->add( tf, anzahl );
- ++anzahl;
- rend = 1;
- }
- void AuswahlBox::addEintragZ( TextFeld *txt )
- {
- members->add( txt, anzahl );
- ++anzahl;
- rend = 1;
- }
- void AuswahlBox::setEintrag( int i, const char *txt ) // Eintrag setzen
- {
- if( members->z( i ) )
- members->z( i )->setText( txt );
- rend = 1;
- }
- void AuswahlBox::setEintrag( int i, Text *txt )
- {
- if( members->z( i ) )
- members->z( i )->setText( txt );
- else
- txt->release();
- rend = 1;
- }
- void AuswahlBox::setEintragZ( int i, TextFeld *txt )
- {
- if( i < anzahl )
- members->set( txt, i );
- else
- txt->release();
- rend = 1;
- }
- void AuswahlBox::removeEintrag( int i ) // Eintrag entfernen
- {
- if( i < anzahl )
- {
- members->remove( i );
- if( msStyle )
- msStyle->remove( i );
- if( msAuswRahmen )
- msAuswRahmen->remove( i );
- if( msAuswBgF )
- msAuswBgF->remove( i );
- if( msAuswBgB )
- msAuswBgB->remove( i );
- if( msAuswAf )
- msAuswAf->remove( i );
- if( msMausRahmen )
- msMausRahmen->remove( i );
- if( msMausBgF )
- msMausBgF->remove( i );
- if( msMausBgB )
- msMausBgB->remove( i );
- if( msMausAf )
- msMausAf->remove( i );
- if( auswahl > i )
- --auswahl;
- if( mausEintrag > i )
- --mausEintrag;
- --anzahl;
- rend = 1;
- }
- }
- void AuswahlBox::setAusklappKnopfZ( Knopf *ausK ) // Ausklapp Knopf setzen
- {
- if( ausfahren )
- ausfahren->release();
- ausfahren = ausK;
- rend = 1;
- }
- void AuswahlBox::setEintragRahmenZ( int i, Rahmen *rahmen ) // Eintrag Rahmen setzen
- {
- if( members->z( i ) )
- members->z( i )->setRahmenZ( rahmen );
- else
- rahmen->release();
- rend = 1;
- }
- void AuswahlBox::setEintragRahmenFarbe( int i, int f ) // Eintrag Rahmen Farbe setzen
- {
- if( members->z( i ) )
- members->z( i )->setRahmenFarbe( f );
- rend = 1;
- }
- void AuswahlBox::setEintragRahmenBreite( int i, int rbr ) // Eintrag Rahmen Breite setzen
- {
- if( members->z( i ) )
- members->z( i )->setRahmenBreite( rbr );
- rend = 1;
- }
- void AuswahlBox::setEintragHintergrundFarbe( int i, int f ) // Eintrag Hintergrund farbe setzen
- {
- if( members->z( i ) )
- members->z( i )->setHintergrundFarbe( f );
- rend = 1;
- }
- void AuswahlBox::setEintragHintergrundBildZ( int i, Bild *bgB ) // Eintrag Hintergrund Bild setzen
- {
- if( members->z( i ) )
- members->z( i )->setHintergrundBildZ( bgB );
- else
- bgB->release();
- rend = 1;
- }
- void AuswahlBox::setEintragHintergrundBild( int i, Bild *bgB )
- {
- if( members->z( i ) )
- members->z( i )->setHintergrundBild( bgB );
- else
- bgB->release();
- rend = 1;
- }
- void AuswahlBox::setEintragAlphaFeldZ( int i, AlphaFeld *af ) // Eintrag AlphaFeld setzen
- {
- if( members->z( i ) )
- members->z( i )->setAlphaFeldZ( af );
- rend = 1;
- }
- void AuswahlBox::setEintragAlphaFeldFarbe( int i, int afF ) // Eintrag AlphaFeld Farbe setzen
- {
- if( members->z( i ) )
- members->z( i )->setAlphaFeldFarbe( afF );
- rend = 1;
- }
- void AuswahlBox::setEintragAlphaFeldStrength( int i, int afSt ) // Eintrag AlphaFeld Stärke setzen
- {
- if( members->z( i ) )
- members->z( i )->setAlphaFeldStrength( afSt );
- rend = 1;
- }
- void AuswahlBox::setAuswRahmenZ( Rahmen *rahmen ) // Auswahl Rahmen setzen
- {
- if( auswRahmen )
- auswRahmen->release();
- auswRahmen = rahmen;
- rend = 1;
- }
- void AuswahlBox::setAuswRahmenFarbe( int f ) // Auswahl Rahmen Farbe setzen
- {
- if( !auswRahmen )
- auswRahmen = new LRahmen();
- auswRahmen->setFarbe( f );
- rend = 1;
- }
- void AuswahlBox::setAuswRahmenBreite( int rbr ) // Auswahl Rahmen Breite setzen
- {
- if( !auswRahmen )
- auswRahmen = new LRahmen();
- auswRahmen->setRamenBreite( rbr );
- rend = 1;
- }
- void AuswahlBox::setAuswHintergrundFarbe( int f ) // Auswahl Hintergrund Farbe setzen
- {
- auswBgF = f;
- rend = 1;
- }
- void AuswahlBox::setAuswHintergrundBildZ( Bild *bgB ) // Auswahl Hintergrund Bild setzen
- {
- if( auswBgB )
- auswBgB->release();
- auswBgB = bgB;
- rend = 1;
- }
- void AuswahlBox::setAuswHintergrundBild( Bild *bgB )
- {
- if( !auswBgB )
- auswBgB = new Bild();
- auswBgB->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
- auswBgB->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
- bgB->release();
- rend = 1;
- }
- void AuswahlBox::setAuswAlphaFeldZ( AlphaFeld *af ) // Auswahl AlphaFeld setzen
- {
- if( auswAf )
- auswAf->release();
- auswAf = af;
- rend = 1;
- }
- void AuswahlBox::setAuswAlphaFeldFarbe( int afF ) // Auswahl AlphaFeld Farbe setzen
- {
- if( !auswAf )
- auswAf = new AlphaFeld();
- auswAf->setFarbe( afF );
- rend = 1;
- }
- void AuswahlBox::setAuswAlphaFeldStrength( int afSt ) // Auswahl Alpha Feld stärke setzen
- {
- if( !auswAf )
- auswAf = new AlphaFeld();
- auswAf->setStrength( afSt );
- rend = 1;
- }
- void AuswahlBox::setMsAuswRahmenZ( int i, Rahmen *rahmen ) // Multistyle Auswahl Rahmen setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- rahmen->release();
- return;
- }
- if( !msAuswRahmen )
- msAuswRahmen = new RCArray< Rahmen >();
- msAuswRahmen->set( rahmen, i );
- rend = 1;
- }
- void AuswahlBox::setMsAuswRahmenFarbe( int i, int f ) // Multistyle Auswahl Rahmen Farbe setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msAuswRahmen )
- msAuswRahmen = new RCArray< Rahmen >();
- if( !msAuswRahmen->z( i ) )
- msAuswRahmen->set( new LRahmen(), i );
- msAuswRahmen->z( i )->setFarbe( f );
- rend = 1;
- }
- void AuswahlBox::setMsAuswRahmenBreite( int i, int rbr ) // Multistyle Auswahl Breite setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msAuswRahmen )
- msAuswRahmen = new RCArray< Rahmen >();
- if( !msAuswRahmen->z( i ) )
- msAuswRahmen->set( new LRahmen(), i );
- msAuswRahmen->z( i )->setRamenBreite( rbr );
- rend = 1;
- }
- void AuswahlBox::setMsAuswHintergrundFarbe( int i, int f ) // Multistyle Auswahl Hintergrund Farbe setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msAuswBgF )
- msAuswBgF = new Array< int >();
- msAuswBgF->set( f, i );
- rend = 1;
- }
- void AuswahlBox::setMsAuswHintergrundBildZ( int i, Bild *bgB ) // Multistyle Auswahl Hintergrund Bild setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- bgB->release();
- return;
- }
- if( !msAuswBgB )
- msAuswBgB = new RCArray< Bild >();
- msAuswBgB->set( bgB, i );
- rend = 1;
- }
- void AuswahlBox::setMsAuswHintergrundBild( int i, Bild *bgB )
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- bgB->release();
- return;
- }
- if( !msAuswBgB )
- msAuswBgB = new RCArray< Bild >();
- if( !msAuswBgB->z( i ) )
- {
- Bild *z = new Bild;
- z->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
- z->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
- msAuswBgB->set( z, i );
- }
- else
- {
- msAuswBgB->z( i )->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
- msAuswBgB->z( i )->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
- }
- bgB->release();
- rend = 1;
- }
- void AuswahlBox::setMsAuswAlphaFeldZ( int i, AlphaFeld *af ) // Multistyle Auswahl AlphaFeld setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- af->release();
- return;
- }
- if( !msAuswAf )
- msAuswAf = new RCArray< AlphaFeld >();
- msAuswAf->set( af, i );
- rend = 1;
- }
- void AuswahlBox::setMsAuswAlphaFeldFarbe( int i, int afF ) // Multistyle Auswahl AlphaFeld Farbe setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msAuswAf )
- msAuswAf = new RCArray< AlphaFeld >();
- if( !msAuswAf->z( i ) )
- msAuswAf->set( new AlphaFeld(), i );
- msAuswAf->z( i )->setFarbe( afF );
- rend = 1;
- }
- void AuswahlBox::setMsAuswAlphaFeldStrength( int i, int afSt ) // Multistyle Auswahl AlphaFeld stärke setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msAuswAf )
- msAuswAf = new RCArray< AlphaFeld >();
- if( !msAuswAf->z( i ) )
- msAuswAf->set( new AlphaFeld(), i );
- msAuswAf->z( i )->setStrength( afSt );
- rend = 1;
- }
- void AuswahlBox::setMausRahmenZ( Rahmen *rahmen ) // Maus Rahmen setzen
- {
- if( mausRahmen )
- mausRahmen->release();
- mausRahmen = rahmen;
- rend = 1;
- }
- void AuswahlBox::setMausRahmenFarbe( int f ) // Maus Rahmen Farbe setzen
- {
- if( !mausRahmen )
- mausRahmen = new LRahmen();
- mausRahmen->setFarbe( f );
- rend = 1;
- }
- void AuswahlBox::setMausRahmenBreite( int rbr ) // Maus Rahmen breite setzen
- {
- if( !mausRahmen )
- mausRahmen = new LRahmen();
- mausRahmen->setRamenBreite( rbr );
- rend = 1;
- }
- void AuswahlBox::setMausHintergrundFarbe( int f ) // Maus Hintergrund Farbe setzen
- {
- mausBgF = f;
- rend = 1;
- }
- void AuswahlBox::setMausHintergrundBildZ( Bild *bgB ) // Maus Hintergrund Bild setzen
- {
- if( mausBgB )
- mausBgB->release();
- mausBgB = bgB;
- rend = 1;
- }
- void AuswahlBox::setMausHintergrundBild( Bild *bgB )
- {
- if( !mausBgB )
- mausBgB = new Bild();
- mausBgB->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
- mausBgB->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
- bgB->release();
- rend = 1;
- }
- void AuswahlBox::setMausAlphaFeldZ( AlphaFeld *af ) // Maus AlphaFeld setzen
- {
- if( mausAf )
- mausAf->release();
- mausAf = af;
- rend = 1;
- }
- void AuswahlBox::setMausAlphaFeldFarbe( int afF ) // Maus AlphaFeld Farbe setzen
- {
- if( !mausAf )
- mausAf = new AlphaFeld();
- mausAf->setFarbe( afF );
- rend = 1;
- }
- void AuswahlBox::setMausAlphaFeldStrength( int afSt ) // Maus AlphaFeld stärke setzen
- {
- if( !mausAf )
- mausAf = new AlphaFeld();
- mausAf->setStrength( afSt );
- rend = 1;
- }
- void AuswahlBox::setMsMausRahmenZ( int i, Rahmen *rahmen ) // Multistyle Maus Rahmen setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- rahmen->release();
- return;
- }
- if( !msMausRahmen )
- msMausRahmen = new RCArray< Rahmen >();
- msMausRahmen->set( rahmen, i );
- rend = 1;
- }
- void AuswahlBox::setMsMausRahmenFarbe( int i, int f ) // Multistyle Maus Rahmen Farbe setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msMausRahmen )
- msMausRahmen = new RCArray< Rahmen >();
- if( !msMausRahmen->z( i ) )
- msMausRahmen->set( new LRahmen(), i );
- msMausRahmen->z( i )->setFarbe( f );
- rend = 1;
- }
- void AuswahlBox::setMsMausRahmenBreite( int i, int rbr ) // Multistyle Maus Rahmen breite setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msMausRahmen )
- msMausRahmen = new RCArray< Rahmen >();
- if( !msMausRahmen->z( i ) )
- msMausRahmen->set( new LRahmen(), i );
- msMausRahmen->z( i )->setRamenBreite( rbr );
- rend = 1;
- }
- void AuswahlBox::setMsMausHintergrundFarbe( int i, int f ) // Multistyle Maus Hintergrund Farbe setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msMausBgF )
- msMausBgF = new Array< int >();
- msMausBgF->set( f, i );
- rend = 1;
- }
- void AuswahlBox::setMsMausHintergrundBildZ( int i, Bild *bgB ) // Multistyle Maus Hintergrund Bild setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- bgB->release();
- return;
- }
- if( !msMausBgB )
- msMausBgB = new RCArray< Bild >();
- msMausBgB->set( bgB, i );
- rend = 1;
- }
- void AuswahlBox::setMsMausHintergrundBild( int i, Bild *bgB )
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- bgB->release();
- return;
- }
- if( !msMausBgB )
- msMausBgB = new RCArray< Bild >();
- if( !msMausBgB->z( i ) )
- {
- Bild *z = new Bild;
- z->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
- z->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
- msMausBgB->set( z, i );
- }
- else
- {
- msMausBgB->z( i )->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
- msMausBgB->z( i )->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
- }
- bgB->release();
- rend = 1;
- }
- void AuswahlBox::setMsMausAlphaFeldZ( int i, AlphaFeld *af ) // Multistyle Maus AlphaFeld setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- {
- af->release();
- return;
- }
- if( !msMausAf )
- msMausAf = new RCArray< AlphaFeld >();
- msMausAf->set( af, i );
- rend = 1;
- }
- void AuswahlBox::setMsMausAlphaFeldFarbe( int i, int afF ) // Multistyle Maus AlphaFeld Farbe setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msMausAf )
- msMausAf = new RCArray< AlphaFeld >();
- if( !msMausAf->z( i ) )
- msMausAf->set( new AlphaFeld(), i );
- msMausAf->z( i )->setFarbe( afF );
- rend = 1;
- }
- void AuswahlBox::setMsMausAlphaFeldStrength( int i, int afSt ) // Multistyle Maus AlphaFeld stärke setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msMausAf )
- msMausAf = new RCArray< AlphaFeld >();
- if( !msMausAf->z( i ) )
- msMausAf->set( new AlphaFeld(), i );
- msMausAf->z( i )->setStrength( afSt );
- rend = 1;
- }
- void AuswahlBox::setAuswahl( int i ) // Eintrag auswählen
- {
- if( i < anzahl && i != auswahl )
- {
- auswahl = i;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- rend = 1;
- }
- }
- void AuswahlBox::ausklappen() // liste ausklappen
- {
- ausgeklappt = 1;
- }
- void AuswahlBox::einklappen() // liste einklappen
- {
- ausgeklappt = 0;
- }
- void AuswahlBox::scrollZuEintrag( int i ) // liste scrollen
- {
- if( hatStyle( Style::VScroll ) && vertikalScrollBar && i < anzahl )
- {
- int scrollPos = 0;
- if( hatStyle( Style::MultiStyled ) )
- {
- for( int j = 0; j < i; ++j )
- scrollPos += members->z( j ) ? members->z( j )->getHeight() : 0;
- }
- else
- scrollPos += i * eintragHeight;
- vertikalScrollBar->scroll( scrollPos );
- rend = 1;
- }
- }
- void AuswahlBox::setMaxAuskappHeight( int maxHeight ) // höhe der Liste beim ausklappen
- {
- ausklapMaxHeight = maxHeight;
- }
- void AuswahlBox::setEintragHeight( int height ) // setzt die Höhe der Einträge
- {
- eintragHeight = height;
- }
- void AuswahlBox::addMsStyle( int i, __int64 abStyle ) // Multistyle style hinzufügen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msStyle )
- msStyle = new Array< __int64 >();
- msStyle->set( msStyle->get( i ) | abStyle, i );
- rend = 1;
- }
- void AuswahlBox::setMsStyle( int i, __int64 abStyle, bool add ) // Multistyle style setzen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msStyle )
- msStyle = new Array< __int64 >();
- if( add )
- msStyle->set( msStyle->get( i ) | abStyle, i );
- else
- msStyle->set( msStyle->get( i ) & ~abStyle, i );
- rend = 1;
- }
- void AuswahlBox::setMsStyle( int i, __int64 abStyle )
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msStyle )
- msStyle = new Array< __int64 >();
- msStyle->set( abStyle, i );
- rend = 1;
- }
- void AuswahlBox::removeMsStyle( int i, __int64 abStyle ) // Multistyle style entfernen
- {
- if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
- return;
- if( !msStyle )
- msStyle = new Array< __int64 >();
- msStyle->set( msStyle->get( i ) & ~abStyle, i );
- rend = 1;
- }
- bool AuswahlBox::tick( double tickVal ) // tick
- {
- if( ausgeklappt && ausfahren && !ausfahren->zText()->istGleich( "/\\" ) )
- {
- ausfahren->setText( "/\\" );
- rend = 1;
- }
- else if( !ausgeklappt && ausfahren && !ausfahren->zText()->istGleich( "\\/" ) )
- {
- ausfahren->setText( "\\/" );
- rend = 1;
- }
- if( hatStyleNicht( Style::Sichtbar ) || hatStyleNicht( Style::Erlaubt ) )
- ausgeklappt = 0;
- rend |= ausfahren->tick( tickVal );
- this->tickval += tickVal * 300;
- int val = (int)this->tickval;
- if( val < 1 )
- return ZeichnungHintergrund::tick( tickVal );
- this->tickval -= val;
- int maxHeight = rahmen ? rahmen->getRBreite() : 0;
- if( hatStyleNicht( Style::MultiStyled ) )
- maxHeight += anzahl * eintragHeight;
- else
- for( int i = 0; i < anzahl; ++i )
- maxHeight += members->z( i ) ? members->z( i )->getHeight() : 0;
- if( maxHeight > ausklapMaxHeight )
- {
- if( hatStyle( Style::VScroll ) && vertikalScrollBar )
- {
- scrollAnzeigen = 1;
- vertikalScrollBar->update( maxHeight, ausklapMaxHeight );
- }
- maxHeight = ausklapMaxHeight;
- }
- else
- scrollAnzeigen = 0;
- if( ausgeklappt )
- {
- if( ausklappHeight < maxHeight )
- {
- ausklappHeight += val;
- if( ausklappHeight > maxHeight )
- ausklappHeight = maxHeight;
- rend = 1;
- }
- }
- else
- {
- if( ausklappHeight > 0 )
- {
- ausklappHeight -= val;
- if( ausklappHeight < 0 )
- ausklappHeight = 0;
- rend = 1;
- }
- }
- for( int i = 0; i < anzahl; ++i )
- {
- if( i != auswahl )
- rend |= members->z( i )->tick( tickVal );
- else
- members->z( i )->tick( tickVal );
- }
- return ZeichnungHintergrund::tick( tickVal );
- }
- void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
- {
- mausEintrag = -1;
- if( hatStyleNicht( Style::Sichtbar ) || hatStyleNicht( Style::Erlaubt ) )
- {
- if( toolTip )
- toolTip->setMausIn( 0 );
- ausgeklappt = 0;
- return;
- }
- bool removeFokus = 0;
- bool nmakc = me.verarbeitet == 0;
- if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y + ausklappHeight ) )
- {
- if( mausIn )
- {
- if( toolTip )
- toolTip->setMausIn( 0 );
- mausIn = 0;
- MausEreignis me2;
- me2.id = ME_Leaves;
- me2.mx = me.mx;
- me2.my = me.my;
- me2.verarbeitet = 0;
- doMausEreignis( me2 );
- return;
- }
- removeFokus = 1;
- }
- if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y + ausklappHeight ) && me.id != ME_Leaves )
- {
- if( removeFokus && me.id == ME_RLinks )
- {
- if( mak && ( me.verarbeitet || mak( makParam, this, me ) ) )
- removeStyle( Style::Fokus );
- ausgeklappt = 0;
- me.mx -= pos.x, me.my -= pos.y;
- if( nmakc && me.verarbeitet && nMak )
- me.verarbeitet = nMak( nmakParam, this, me );
- me.mx += pos.x, me.my += pos.y;
- }
- if( toolTip )
- toolTip->setMausIn( 0 );
- return;
- }
- if( !mausIn && me.id != ME_Leaves )
- {
- mausIn = 1;
- if( toolTip )
- toolTip->setMausIn( 1 );
- MausEreignis me2;
- me2.id = ME_Betritt;
- me2.mx = me.mx;
- me2.my = me.my;
- me2.verarbeitet = 0;
- doMausEreignis( me2 );
- }
- me.mx -= pos.x, me.my -= pos.y;
- if( mak && ( me.verarbeitet || mak( makParam, this, me ) ) )
- {
- bool vera = me.verarbeitet;
- if( ausfahren )
- {
- int tmpMx = me.mx;
- int tmpMy = me.my;
- if( me.mx > 0 && me.my > 0 && me.mx < gr.x && me.my < gr.y )
- me.mx = ausfahren->getX() + 1, me.my = ausfahren->getY() + 1;
- else
- me.mx = ausfahren->getX() - 1, me.my = ausfahren->getY() - 1;
- ausfahren->doMausEreignis( me );
- me.mx = tmpMx, me.my = tmpMy;
- }
- if( me.verarbeitet && !vera && me.id == ME_RLinks )
- {
- ausgeklappt = !ausgeklappt;
- if( ausgeklappt )
- mausEintrag = auswahl;
- if( scrollAnzeigen )
- scrollZuEintrag( mausEintrag );
- }
- if( removeFokus && me.id == ME_RLinks )
- removeStyle( Style::Fokus );
- if( !me.verarbeitet && hatStyleNicht( Style::Fokus ) && me.id == ME_RLinks )
- addStyle( Style::Fokus );
- if( hatStyle( Style::VScroll ) && vertikalScrollBar && ausgeklappt && scrollAnzeigen )
- {
- int rbr = 0;
- if( rahmen && hatStyle( Style::Rahmen ) )
- rbr = rahmen->getRBreite();
- if( ( ( me.mx > gr.x - 15 - rbr && me.my > gr.y ) || me.id == ME_UScroll || me.id == ME_DScroll ) && me.id != ME_Betritt && me.id != ME_Leaves )
- {
- vertikalScrollBar->doMausMessage( gr.x - rbr - 15, gr.y, 15, vertikalScrollBar->getScrollData()->anzeige, me );
- me.verarbeitet = 1;
- }
- }
- if( !me.verarbeitet )
- {
- int eintr = -1;
- int tmp = me.my - gr.y + ( vertikalScrollBar ? vertikalScrollBar->getScroll() : 0 );
- if( hatStyle( Style::MultiStyled ) )
- {
- for( int i = 0; i < anzahl; ++i )
- {
- if( tmp > 0 && tmp < ( members->z( i ) ? members->z( i )->getHeight() : 0 ) )
- {
- eintr = i;
- break;
- }
- tmp -= members->z( i ) ? members->z( i )->getHeight() : 0;
- }
- }
- else
- {
- for( int i = 0; i < anzahl; ++i )
- {
- if( tmp > 0 && tmp < eintragHeight )
- {
- eintr = i;
- break;
- }
- tmp -= eintragHeight;
- }
- }
- if( ausgeklappt && me.mx > 0 && me.mx < gr.x && me.my > gr.y && me.my < gr.y + ausklappHeight )
- {
- if( eintr >= 0 )
- {
- if( me.id == ME_RLinks )
- {
- if( auswahl != eintr )
- rend = 1;
- auswahl = eintr;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- }
- if( mausEintrag != eintr )
- rend = 1;
- mausEintrag = eintr;
- }
- }
- }
- me.verarbeitet = 1;
- }
- if( nmakc && me.verarbeitet && nMak )
- me.verarbeitet = nMak( nmakParam, this, me );
- me.mx += pos.x, me.my += pos.y;
- }
- void AuswahlBox::doTastaturEreignis( TastaturEreignis &te ) // Tastatur
- {
- if( te.verarbeitet || hatStyleNicht( Style::Fokus ) || hatStyleNicht( Style::Erlaubt ) )
- return;
- if( te.id == TE_Release )
- {
- switch( te.taste )
- {
- case T_Oben:
- if( auswahl > 0 )
- --auswahl;
- else
- auswahl = anzahl - 1;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- scrollZuEintrag( auswahl );
- rend = 1;
- break;
- case T_Unten:
- if( auswahl < anzahl - 1 )
- ++auswahl;
- else
- auswahl = 0;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- scrollZuEintrag( auswahl );
- rend = 1;
- break;
- }
- }
- if( te.verarbeitet && nTak )
- te.verarbeitet = nTak( ntakParam, this, te );
- }
- void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
- {
- if( hatStyle( Style::Sichtbar ) )
- {
- lockZeichnung();
- int br = gr.x;
- int hi = gr.y + ausklappHeight;
- if( ( ausklappHeight && !zRObj.setDrawOptionsErzwingen( pos.x, pos.y, br, hi ) ) || ( !ausklappHeight && !zRObj.setDrawOptions( pos.x, pos.y, br, hi ) ) )
- {
- unlockZeichnung();
- return;
- }
- int rbr = 0;
- if( hatStyle( Style::Rahmen ) && rahmen ) // Rahmen zeichnen
- {
- rahmen->setSize( br, hi );
- rahmen->render( zRObj );
- rbr = rahmen->getRBreite();
- }
- if( ( ausklappHeight && !zRObj.setDrawOptionsErzwingen( rbr, rbr, br - rbr * 2, hi - rbr * 2 ) ) || ( !ausklappHeight && !zRObj.setDrawOptions( rbr, rbr, br - rbr * 2, hi - rbr * 2 ) ) )
- {
- zRObj.releaseDrawOptions();
- unlockZeichnung();
- return;
- }
- if( hatStyle( Style::Hintergrund ) )
- {
- if( hatStyle( Style::HAlpha ) )
- zRObj.alphaRegion( 0, 0, br, hi, hintergrundFarbe );
- else
- zRObj.fillRegion( 0, 0, br, hi, hintergrundFarbe );
- if( hatStyle( Style::HBild ) && hintergrundBild )
- {
- if( hatStyle( Style::HAlpha ) )
- zRObj.alphaBild( 0, 0, br, hi, *hintergrundBild );
- else
- zRObj.drawBild( 0, 0, br, hi, *hintergrundBild );
- }
- }
- if( hatStyle( Style::Buffered ) && hintergrundFeld )
- {
- hintergrundFeld->setSize( br - rbr * 2, hi - rbr * 2 );
- hintergrundFeld->render( zRObj );
- }
- if( ausfahren ) // Ausklapp Knopf zeichnen
- {
- ausfahren->setSize( gr.y - rbr * 2, gr.y - rbr * 2 );
- ausfahren->setPosition( gr.x - rbr - ausfahren->getBreite(), rbr );
- ausfahren->render( zRObj );
- }
- if( members ) // Ausgewähtes TextFeld zeichnen
- {
- if( auswahl < 0 )
- {
- auswahl = 0;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- }
- if( auswahl >= anzahl )
- {
- auswahl = anzahl - 1;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- }
- TextFeld *tf = auswahl >= 0 ? members->z( auswahl ) : 0;
- if( tf )
- {
- AlphaFeld *tmpBuffer = 0;
- bool tmpB = 0;
- int tmpHFarbe = 0;
- bool tmpH = 0;
- Bild *tmpHBild = 0;
- bool tmpHB = 0;
- bool tmpHAlpha = 0;
- Rahmen *tmpRahmen = 0;
- bool tmpR = 0;
- if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
- {
- if( hatStyle( Style::AuswahlBuffer ) )
- {
- tmpBuffer = tf->getAlphaFeld();
- tf->setAlphaFeldZ( (AlphaFeld*)auswAf->getThis() );
- tmpB = tf->hatStyle( TextFeld::Style::Buffered );
- tf->setStyle( TextFeld::Style::Buffered, hatStyle( Style::AuswahlBuffer ) );
- }
- if( hatStyle( Style::AuswahlHintergrund ) )
- {
- tmpH = tf->hatStyle( TextFeld::Style::Hintergrund );
- tmpHFarbe = tf->getHintergrundFarbe();
- tf->setHintergrundFarbe( auswBgF );
- tf->setStyle( TextFeld::Style::Hintergrund, hatStyle( Style::Hintergrund ) );
- if( hatStyle( Style::AuswahlHBild ) )
- {
- tmpHBild = tf->getHintergrundBild();
- tf->setHintergrundBildZ( auswBgB->getThis() );
- tmpHB = tf->hatStyle( TextFeld::Style::HBild );
- tf->setStyle( TextFeld::Style::HBild, hatStyle( Style::HBild ) );
- }
- if( hatStyle( Style::AuswahlHAlpha ) )
- {
- tmpHAlpha = tf->hatStyle( TextFeld::Style::HAlpha );
- tf->setStyle( TextFeld::Style::HAlpha, hatStyle( Style::AuswahlHAlpha ) );
- }
- }
- if( hatStyle( Style::AuswahlRahmen ) )
- {
- tmpRahmen = tf->getRahmen();
- tf->setRahmenZ( (Rahmen*)auswRahmen->getThis() );
- tmpR = tf->hatStyle( TextFeld::Style::Rahmen );
- tf->setStyle( TextFeld::Style::Rahmen, hatStyle( Style::AuswahlRahmen ) );
- }
- }
- else
- {
- if( hatMsStyle( auswahl, Style::AuswahlBuffer ) && msAuswAf )
- {
- tmpBuffer = tf->getAlphaFeld();
- tf->setAlphaFeldZ( msAuswAf->get( auswahl ) );
- tmpB = tf->hatStyle( TextFeld::Style::Buffered );
- tf->setStyle( TextFeld::Style::Buffered, hatMsStyle( auswahl, Style::AuswahlBuffer ) );
- }
- if( hatMsStyle( auswahl, Style::AuswahlHintergrund ) )
- {
- tmpH = tf->hatStyle( Style::Hintergrund );
- tf->setStyle( TextFeld::Style::Hintergrund, hatMsStyle( auswahl, Style::AuswahlHintergrund ) );
- if( msAuswBgF && msAuswBgF->hat( auswahl ) )
- {
- tmpHFarbe = tf->getHintergrundFarbe();
- tf->setHintergrundFarbe( msAuswBgF->get( auswahl ) );
- }
- if( hatMsStyle( auswahl, Style::AuswahlHBild ) && msAuswBgB )
- {
- tmpHBild = tf->getHintergrundBild();
- tf->setHintergrundBildZ( msAuswBgB->get( auswahl ) );
- tmpHB = tf->hatStyle( TextFeld::Style::HBild );
- tf->setStyle( TextFeld::Style::HBild, hatMsStyle( auswahl, Style::HBild ) );
- }
- if( hatMsStyle( auswahl, Style::AuswahlHAlpha ) )
- {
- tmpHAlpha = tf->hatStyle( TextFeld::Style::HAlpha );
- tf->setStyle( TextFeld::Style::HAlpha, hatMsStyle( auswahl, Style::AuswahlHAlpha ) );
- }
- }
- if( hatMsStyle( auswahl, Style::AuswahlRahmen ) && msAuswRahmen )
- {
- tmpRahmen = tf->getRahmen();
- tf->setRahmenZ( msAuswRahmen->get( auswahl ) );
- tmpR = tf->hatStyle( TextFeld::Style::Rahmen );
- tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( auswahl, Style::AuswahlRahmen ) );
- }
- }
- int tmpHi = tf->getHeight();
- tf->setPosition( 0, 0 );
- tf->setSize( gr.x - rbr * 2 - ( ausfahren ? ausfahren->getBreite() : 0 ), gr.y - rbr * 2 );
- tf->render( zRObj );
- tf->setSize( tf->getBreite(), tmpHi );
- if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
- {
- if( hatStyle( Style::AuswahlBuffer ) )
- {
- tf->setAlphaFeldZ( tmpBuffer );
- tf->setStyle( TextFeld::Style::Buffered, tmpB );
- }
- if( hatStyle( Style::AuswahlHintergrund ) )
- {
- tf->setHintergrundFarbe( tmpHFarbe );
- tf->setStyle( TextFeld::Style::Hintergrund, tmpH );
- if( hatStyle( Style::AuswahlHBild ) )
- {
- tf->setHintergrundBildZ( tmpHBild );
- tf->setStyle( TextFeld::Style::HBild, tmpHB );
- }
- if( hatStyle( Style::AuswahlHAlpha ) )
- tf->setStyle( TextFeld::Style::HAlpha, tmpHAlpha );
- }
- if( hatStyle( Style::AuswahlRahmen ) )
- {
- tf->setRahmenZ( tmpRahmen );
- tf->setStyle( TextFeld::Style::Rahmen, tmpR );
- }
- }
- else
- {
- if( hatMsStyle( auswahl, Style::AuswahlBuffer ) && msAuswAf )
- {
- tf->setAlphaFeldZ( tmpBuffer );
- tf->setStyle( TextFeld::Style::Buffered, tmpB );
- }
- if( hatMsStyle( auswahl, Style::AuswahlHintergrund ) )
- {
- tf->setStyle( TextFeld::Style::Hintergrund, tmpH );
- if( msAuswBgF && msAuswBgF->hat( auswahl ) )
- tf->setHintergrundFarbe( tmpHFarbe );
- if( hatMsStyle( auswahl, Style::AuswahlHBild ) && msAuswBgB )
- {
- tf->setHintergrundBildZ( tmpHBild );
- tf->setStyle( TextFeld::Style::HBild, tmpHB );
- }
- if( hatMsStyle( auswahl, Style::AuswahlHAlpha ) )
- tf->setStyle( TextFeld::Style::HAlpha, tmpHAlpha );
- }
- if( hatMsStyle( auswahl, Style::AuswahlRahmen ) && msAuswRahmen )
- {
- tf->setRahmenZ( tmpRahmen );
- tf->setStyle( TextFeld::Style::Rahmen, tmpR );
- }
- }
- }
- }
- bool vsb = hatStyle( Style::VScroll ) && vertikalScrollBar; // Scroll bar zeichnen
- if( auswahl >= anzahl )
- {
- auswahl = 0;
- if( eAk )
- eAk( eAkP, this, 0, auswahl );
- }
- if( members )
- {
- if( vsb && ausklappHeight )
- {
- br -= 15;
- vertikalScrollBar->getScrollData()->anzeige = ausklappHeight - rbr;
- vertikalScrollBar->render( br - rbr, gr.y, 15, ausklappHeight - rbr, zRObj );
- }
- if( ( ausklappHeight && !zRObj.setDrawOptionsErzwingen( 0, gr.y, br - rbr, hi - rbr - gr.y ) ) || ( !ausklappHeight && !zRObj.setDrawOptions( 0, gr.y, br - rbr, hi - rbr - gr.y ) ) )
- {
- zRObj.releaseDrawOptions();
- zRObj.releaseDrawOptions();
- unlockZeichnung();
- return;
- }
- int maxHeight = 0;
- int dy = 0;
- if( vsb )
- dy -= vertikalScrollBar->getScroll();
- int mdy = hi - rbr;
- anzahl = members->getEintragAnzahl();
- for( int i = 0; i < anzahl; ++i )
- {
- TextFeld *tf = members->z( i );
- if( dy >= mdy && !vsb )
- break;
- tf->setPosition( 0, dy );
- tf->setSize( br - rbr * 2, tf->getHeight() );
- maxHeight += tf->getHeight();
- bool selected = auswahl == i;
- AlphaFeld *tmpBuffer = 0;
- bool tmpB = 0;
- int tmpHFarbe = 0;
- bool tmpH = 0;
- Bild *tmpHBild = 0;
- bool tmpHB = 0;
- bool tmpHAlpha = 0;
- Rahmen *tmpRahmen = 0;
- bool tmpR = 0;
- if( selected )
- {
- if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
- {
- if( hatStyle( Style::AuswahlBuffer ) )
- {
- tmpBuffer = tf->getAlphaFeld();
- tf->setAlphaFeldZ( (AlphaFeld*)auswAf->getThis() );
- tmpB = tf->hatStyle( TextFeld::Style::Buffered );
- tf->setStyle( TextFeld::Style::Buffered, hatStyle( Style::AuswahlBuffer ) );
- }
- if( hatStyle( Style::AuswahlHintergrund ) )
- {
- tmpH = tf->hatStyle( TextFeld::Style::Hintergrund );
- tmpHFarbe = tf->getHintergrundFarbe();
- tf->setHintergrundFarbe( auswBgF );
- tf->setStyle( TextFeld::Style::Hintergrund, hatStyle( Style::Hintergrund ) );
- if( hatStyle( Style::AuswahlHBild ) )
- {
- tmpHBild = tf->getHintergrundBild();
- tf->setHintergrundBildZ( auswBgB->getThis() );
- tmpHB = tf->hatStyle( TextFeld::Style::HBild );
- tf->setStyle( TextFeld::Style::HBild, hatStyle( Style::HBild ) );
- }
- if( hatStyle( Style::AuswahlHAlpha ) )
- {
- tmpHAlpha = tf->hatStyle( TextFeld::Style::HAlpha );
- tf->setStyle( TextFeld::Style::HAlpha, hatStyle( Style::AuswahlHAlpha ) );
- }
- }
- if( hatStyle( Style::AuswahlRahmen ) )
- {
- tmpRahmen = tf->getRahmen();
- tf->setRahmenZ( (Rahmen*)auswRahmen->getThis() );
- tmpR = tf->hatStyle( TextFeld::Style::Rahmen );
- tf->setStyle( TextFeld::Style::Rahmen, hatStyle( Style::AuswahlRahmen ) );
- }
- }
- else
- {
- if( hatMsStyle( i, Style::AuswahlBuffer ) && msAuswAf )
- {
- tmpBuffer = tf->getAlphaFeld();
- tf->setAlphaFeldZ( msAuswAf->get( i ) );
- tmpB = tf->hatStyle( TextFeld::Style::Buffered );
- tf->setStyle( TextFeld::Style::Buffered, hatMsStyle( i, Style::AuswahlBuffer ) );
- }
- if( hatMsStyle( i, Style::AuswahlHintergrund ) )
- {
- tmpH = tf->hatStyle( Style::Hintergrund );
- tf->setStyle( TextFeld::Style::Hintergrund, hatMsStyle( i, Style::AuswahlHintergrund ) );
- if( msAuswBgF && msAuswBgF->hat( i ) )
- {
- tmpHFarbe = tf->getHintergrundFarbe();
- tf->setHintergrundFarbe( msAuswBgF->get( i ) );
- }
- if( hatMsStyle( i, Style::AuswahlHBild ) && msAuswBgB )
- {
- tmpHBild = tf->getHintergrundBild();
- tf->setHintergrundBildZ( msAuswBgB->get( i ) );
- tmpHB = tf->hatStyle( TextFeld::Style::HBild );
- tf->setStyle( TextFeld::Style::HBild, hatMsStyle( i, Style::HBild ) );
- }
- if( hatMsStyle( i, Style::AuswahlHAlpha ) )
- {
- tmpHAlpha = tf->hatStyle( TextFeld::Style::HAlpha );
- tf->setStyle( TextFeld::Style::HAlpha, hatMsStyle( i, Style::AuswahlHAlpha ) );
- }
- }
- if( hatMsStyle( i, Style::AuswahlRahmen ) && msAuswRahmen )
- {
- tmpRahmen = tf->getRahmen();
- tf->setRahmenZ( msAuswRahmen->get( i ) );
- tmpR = tf->hatStyle( TextFeld::Style::Rahmen );
- tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( i, Style::AuswahlRahmen ) );
- }
- }
- }
- else if( mausEintrag == i )
- {
- if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
- {
- if( hatStyle( Style::MausBuffer ) )
- {
- tmpBuffer = tf->getAlphaFeld();
- tf->setAlphaFeldZ( (AlphaFeld*)mausAf->getThis() );
- tmpB = tf->hatStyle( TextFeld::Style::Buffered );
- tf->setStyle( TextFeld::Style::Buffered, hatStyle( Style::MausBuffer ) );
- }
- if( hatStyle( Style::MausHintergrund ) )
- {
- tmpH = tf->hatStyle( TextFeld::Style::Hintergrund );
- tmpHFarbe = tf->getHintergrundFarbe();
- tf->setHintergrundFarbe( mausBgF );
- tf->setStyle( TextFeld::Style::Hintergrund, hatStyle( Style::Hintergrund ) );
- if( hatStyle( Style::MausHBild ) )
- {
- tmpHBild = tf->getHintergrundBild();
- tf->setHintergrundBildZ( mausBgB->getThis() );
- tmpHB = tf->hatStyle( TextFeld::Style::HBild );
- tf->setStyle( TextFeld::Style::HBild, hatStyle( Style::HBild ) );
- }
- if( hatStyle( Style::MausHAlpha ) )
- {
- tmpHAlpha = tf->hatStyle( TextFeld::Style::HAlpha );
- tf->setStyle( TextFeld::Style::HAlpha, hatStyle( Style::MausHAlpha ) );
- }
- }
- if( hatStyle( Style::MausRahmen ) )
- {
- tmpRahmen = tf->getRahmen();
- tf->setRahmenZ( (Rahmen*)mausRahmen->getThis() );
- tmpR = tf->hatStyle( TextFeld::Style::Rahmen );
- tf->setStyle( TextFeld::Style::Rahmen, hatStyle( Style::MausRahmen ) );
- }
- }
- else
- {
- if( hatMsStyle( i, Style::MausBuffer ) && msAuswAf )
- {
- tmpBuffer = tf->getAlphaFeld();
- tf->setAlphaFeldZ( msMausAf->get( i ) );
- tmpB = tf->hatStyle( TextFeld::Style::Buffered );
- tf->setStyle( TextFeld::Style::Buffered, hatMsStyle( i, Style::MausBuffer ) );
- }
- if( hatMsStyle( i, Style::MausHintergrund ) )
- {
- tmpH = tf->hatStyle( Style::Hintergrund );
- tf->setStyle( TextFeld::Style::Hintergrund, hatMsStyle( i, Style::MausHintergrund ) );
- if( msMausBgF && msMausBgF->hat( i ) )
- {
- tmpHFarbe = tf->getHintergrundFarbe();
- tf->setHintergrundFarbe( msMausBgF->get( i ) );
- }
- if( hatMsStyle( i, Style::MausHBild ) && msMausBgB )
- {
- tmpHBild = tf->getHintergrundBild();
- tf->setHintergrundBildZ( msMausBgB->get( i ) );
- tmpHB = tf->hatStyle( TextFeld::Style::HBild );
- tf->setStyle( TextFeld::Style::HBild, hatMsStyle( i, Style::HBild ) );
- }
- if( hatMsStyle( i, Style::MausHAlpha ) )
- {
- tmpHAlpha = tf->hatStyle( TextFeld::Style::HAlpha );
- tf->setStyle( TextFeld::Style::HAlpha, hatMsStyle( i, Style::MausHAlpha ) );
- }
- }
- if( hatMsStyle( i, Style::MausRahmen ) && msMausRahmen )
- {
- tmpRahmen = tf->getRahmen();
- tf->setRahmenZ( msMausRahmen->get( i ) );
- tmpR = tf->hatStyle( TextFeld::Style::Rahmen );
- tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( i, Style::MausRahmen ) );
- }
- }
- }
- tf->render( zRObj );
- if( selected )
- {
- if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
- {
- if( hatStyle( Style::AuswahlBuffer ) )
- {
- tf->setAlphaFeldZ( tmpBuffer );
- tf->setStyle( TextFeld::Style::Buffered, tmpB );
- }
- if( hatStyle( Style::AuswahlHintergrund ) )
- {
- tf->setHintergrundFarbe( tmpHFarbe );
- tf->setStyle( TextFeld::Style::Hintergrund, tmpH );
- if( hatStyle( Style::AuswahlHBild ) )
- {
- tf->setHintergrundBildZ( tmpHBild );
- tf->setStyle( TextFeld::Style::HBild, tmpHB );
- }
- if( hatStyle( Style::AuswahlHAlpha ) )
- tf->setStyle( TextFeld::Style::HAlpha, tmpHAlpha );
- }
- if( hatStyle( Style::AuswahlRahmen ) )
- {
- tf->setRahmenZ( tmpRahmen );
- tf->setStyle( TextFeld::Style::Rahmen, tmpR );
- }
- }
- else
- {
- if( hatMsStyle( i, Style::AuswahlBuffer ) && msAuswAf )
- {
- tf->setAlphaFeldZ( tmpBuffer );
- tf->setStyle( TextFeld::Style::Buffered, tmpB );
- }
- if( hatMsStyle( i, Style::AuswahlHintergrund ) )
- {
- tf->setStyle( TextFeld::Style::Hintergrund, tmpH );
- if( msAuswBgF && msAuswBgF->hat( i ) )
- tf->setHintergrundFarbe( tmpHFarbe );
- if( hatMsStyle( i, Style::AuswahlHBild ) && msAuswBgB )
- {
- tf->setHintergrundBildZ( tmpHBild );
- tf->setStyle( TextFeld::Style::HBild, tmpHB );
- }
- if( hatMsStyle( i, Style::AuswahlHAlpha ) )
- tf->setStyle( TextFeld::Style::HAlpha, tmpHAlpha );
- }
- if( hatMsStyle( i, Style::AuswahlRahmen ) && msAuswRahmen )
- {
- tf->setRahmenZ( tmpRahmen );
- tf->setStyle( TextFeld::Style::Rahmen, tmpR );
- }
- }
- }
- else if( mausEintrag == i )
- {
- if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
- {
- if( hatStyle( Style::MausBuffer ) )
- {
- tf->setAlphaFeldZ( tmpBuffer );
- tf->setStyle( TextFeld::Style::Buffered, tmpB );
- }
- if( hatStyle( Style::MausHintergrund ) )
- {
- tf->setHintergrundFarbe( tmpHFarbe );
- tf->setStyle( TextFeld::Style::Hintergrund, tmpH );
- if( hatStyle( Style::MausHBild ) )
- {
- tf->setHintergrundBildZ( tmpHBild );
- tf->setStyle( TextFeld::Style::HBild, tmpHB );
- }
- if( hatStyle( Style::MausHAlpha ) )
- tf->setStyle( TextFeld::Style::HAlpha, tmpHAlpha );
- }
- if( hatStyle( Style::MausRahmen ) )
- {
- tf->setRahmenZ( tmpRahmen );
- tf->setStyle( TextFeld::Style::Rahmen, tmpR );
- }
- }
- else
- {
- if( hatMsStyle( i, Style::MausBuffer ) && msAuswAf )
- {
- tf->setAlphaFeldZ( tmpBuffer );
- tf->setStyle( TextFeld::Style::Buffered, tmpB );
- }
- if( hatMsStyle( i, Style::MausHintergrund ) )
- {
- tf->setStyle( TextFeld::Style::Hintergrund, tmpH );
- if( msAuswBgF && msAuswBgF->hat( i ) )
- tf->setHintergrundFarbe( tmpHFarbe );
- if( hatMsStyle( i, Style::MausHBild ) && msAuswBgB )
- {
- tf->setHintergrundBildZ( tmpHBild );
- tf->setStyle( TextFeld::Style::HBild, tmpHB );
- }
- if( hatMsStyle( i, Style::MausHAlpha ) )
- tf->setStyle( TextFeld::Style::HAlpha, tmpHAlpha );
- }
- if( hatMsStyle( i, Style::MausRahmen ) && msAuswRahmen )
- {
- tf->setRahmenZ( tmpRahmen );
- tf->setStyle( TextFeld::Style::Rahmen, tmpR );
- }
- }
- }
- dy += tf->getHeight();
- }
- if( vertikalScrollBar )
- vertikalScrollBar->getScrollData()->max = maxHeight;
- zRObj.releaseDrawOptions();
- }
- zRObj.releaseDrawOptions();
- zRObj.releaseDrawOptions();
- unlockZeichnung();
- }
- }
- // constant
- int AuswahlBox::getEintragPos( const char *txt ) const // gibt die Eintrag Position zurück
- {
- for( int i = 0; i < anzahl; ++i )
- if( members->z( i ) && members->z( i )->zText()->istGleich( txt ) )
- return i;
- return -1;
- }
- int AuswahlBox::getEintragPos( Text *txt ) const
- {
- for( int i = 0; i < anzahl; ++i )
- {
- if( members->z( i ) && members->z( i )->zText()->istGleich( txt->getText() ) )
- {
- txt->release();
- return i;
- }
- }
- txt->release();
- return -1;
- }
- Text *AuswahlBox::getEintragText( int i ) const // gibt den Eintrag Text zurück
- {
- if( i >= anzahl )
- return 0;
- return members->z( i ) ? members->z( i )->getText() : 0;
- }
- Text *AuswahlBox::zEintragText( int i ) const
- {
- if( i >= anzahl )
- return 0;
- return members->z( i ) ? members->z( i )->zText() : 0;
- }
- TextFeld *AuswahlBox::getEintrag( int i ) const // gibt den Eintrag zurück
- {
- if( i >= anzahl )
- return 0;
- return members->get( i );
- }
- TextFeld *AuswahlBox::zEintrag( int i ) const
- {
- if( i >= anzahl )
- return 0;
- return members->z( i );
- }
- int AuswahlBox::getAuswahl() const // gibt die Position des ausgewählten Eintrages zurück
- {
- return auswahl;
- }
- int AuswahlBox::getEintragAnzahl() const // gibt die Anzahl der Einträge zurück
- {
- return anzahl;
- }
- bool AuswahlBox::istAusgeklappt() const // prüft, ob die Liste ausgeklappt ist
- {
- return ausgeklappt;
- }
- int AuswahlBox::getMaxHeight() const // gibt die maximale Höhe der Liste zurück
- {
- if( !hatStyle( Style::MaxHeight ) )
- return 0;
- return ausklapMaxHeight;
- }
- int AuswahlBox::getEintragHeight() const // gibt die Höhe der Einträge zurück
- {
- return eintragHeight;
- }
- Knopf *AuswahlBox::getAusklappKnopf() const // gibt den aus-/einklapp Knopf zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return ausfahren ? (Knopf*)ausfahren->getThis() : 0;
- }
- Knopf *AuswahlBox::zAusklappKnopf() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return ausfahren;
- }
- Rahmen *AuswahlBox::getEintragRahmen( int i ) const // gibt den Eintrag Rahmen zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getRahmen();
- }
- Rahmen *AuswahlBox::zEintragRahmen( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->zRahmen();
- }
- int AuswahlBox::getEintragRahmenFarbe( int i ) const // gibt die Eintrag Rahmen Frabe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getRahmenFarbe();
- }
- int AuswahlBox::getEintragRahmenBreite( int i ) const // gibt die Eintrag Rahmen Breite zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getRahmenBreite();
- }
- AlphaFeld *AuswahlBox::getEintragAlphaFeld( int i ) const // gibt das Eintrag AlphaFeld zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getAlphaFeld();
- }
- AlphaFeld *AuswahlBox::zEintragAlphaFeld( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->zAlphaFeld();
- }
- int AuswahlBox::getEintragAlphaFeldFarbe( int i ) const // gibt die Eintrag AlphaFeld Farbe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getAlphaFeldFarbe();
- }
- int AuswahlBox::getEintragAlphaFeldStrength( int i ) const // gibt die Eintrag AlphaFeld stärke zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getAlphaFeldStrength();
- }
- int AuswahlBox::getEintragHintergrundFarbe( int i ) const // gibt die Eintrag Hintergrund Farbe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getHintergrundFarbe();
- }
- Bild *AuswahlBox::getEintragHintergrundBild( int i ) const // gibt das Eintrag Hintergrund Bild zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->getHintergrundBild();
- }
- Bild *AuswahlBox::zEintragHintergrundBild( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !members->z( i ) )
- return 0;
- return members->z( i )->zHintergrundBild();
- }
- Rahmen *AuswahlBox::getAuswRahmen() const // gibt den Auswahl Rahmen zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswRahmen ? (Rahmen*)auswRahmen->getThis() : 0;
- }
- Rahmen *AuswahlBox::zAuswRahmen() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswRahmen;
- }
- int AuswahlBox::getAuswRahmenFarbe() const // gibt die Auswahl Rahmen Frabe zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswRahmen ? auswRahmen->getFarbe() : 0;
- }
- int AuswahlBox::getAuswRahmenBreite() const // gibt die Auswahl Rahmen Breite zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswRahmen ? auswRahmen->getRBreite() : 0;
- }
- AlphaFeld *AuswahlBox::getAuswAlphaFeld() const // gibt das Auswahl AlphaFeld zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswAf ? (AlphaFeld*)auswAf->getThis() : 0;
- }
- AlphaFeld *AuswahlBox::zAuswAlphaFeld() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswAf;
- }
- int AuswahlBox::getAuswAlphaFeldFarbe() const // gibt die Auswahl AlphaFeld Farbe zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswAf ? auswAf->getFarbe() : 0;
- }
- int AuswahlBox::getAuswAlphaFeldStrength() const // gibt die Auswahl AlphaFeld stärke zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswAf ? auswAf->getStrength() : 0;
- }
- int AuswahlBox::getAuswHintergrundFarbe() const // gibt die Auswahl Hintergrund Farbe zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswBgF;
- }
- Bild *AuswahlBox::getAuswHintergrundBild() const // gibt das Auswahl Hintergrund Bild zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswBgB ? auswBgB->getThis() : 0;
- }
- Bild *AuswahlBox::zAuswHintergrundBild() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return auswBgB;
- }
- Rahmen *AuswahlBox::getMsAuswRahmen( int i ) const // gibt den Multistyle Auswahl Rahmen zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswRahmen )
- return 0;
- return msAuswRahmen->z( i ) ? (Rahmen*)msAuswRahmen->z( i )->getThis() : 0;
- }
- Rahmen *AuswahlBox::zMsAuswRahmen( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswRahmen )
- return 0;
- return msAuswRahmen->z( i );
- }
- int AuswahlBox::getMsAuswRahmenFarbe( int i ) const // gibt die Multistyle Auswahl Rahmen Frabe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswRahmen )
- return 0;
- return msAuswRahmen->z( i ) ? msAuswRahmen->z( i )->getFarbe() : 0;
- }
- int AuswahlBox::getMsAuswRahmenBreite( int i ) const // gibt die Multistyle Auswahl Rahmen Breite zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswRahmen )
- return 0;
- return msAuswRahmen->z( i ) ? msAuswRahmen->z( i )->getRBreite() : 0;
- }
- AlphaFeld *AuswahlBox::getMsAuswAlphaFeld( int i ) const // gibt das Multistyle Auswahl AlphaFeld zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswAf )
- return 0;
- return msAuswAf->z( i ) ? (AlphaFeld*)msAuswAf->z( i )->getThis() : 0;
- }
- AlphaFeld *AuswahlBox::zMsAuswAlphaFeld( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswAf )
- return 0;
- return msAuswAf->z( i );
- }
- int AuswahlBox::getMsAuswAlphaFeldFarbe( int i ) const // gibt die Multistyle Auswahl AlphaFeld Farbe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswAf )
- return 0;
- return msAuswAf->z( i ) ? msAuswAf->z( i )->getFarbe() : 0;
- }
- int AuswahlBox::getMsAuswAlphaFeldStrength( int i ) const // gibt die Multistyle Auswahl AlphaFeld stärke zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswAf )
- return 0;
- return msAuswAf->z( i ) ? msAuswAf->z( i )->getStrength() : 0;
- }
- int AuswahlBox::getMsAuswHintergrundFarbe( int i ) const // gibt die Multistyle Auswahl Hintergrund Farbe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswBgF || !msAuswBgF->hat( i ) )
- return 0;
- return msAuswBgF->get( i );
- }
- Bild *AuswahlBox::getMsAuswHintergrundBild( int i ) const // gibt das Multistyle Auswahl Hintergrund Bild zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswBgB )
- return 0;
- return msAuswBgB->get( i );
- }
- Bild *AuswahlBox::zMsAuswHintergrundBild( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msAuswBgB )
- return 0;
- return msAuswBgB->z( i );
- }
- Rahmen *AuswahlBox::getMausRahmen() const // gibt den Maus Rahmen zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausRahmen ? (Rahmen*)mausRahmen->getThis() : 0;
- }
- Rahmen *AuswahlBox::zMausRahmen() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausRahmen;
- }
- int AuswahlBox::getMausRahmenFarbe() const // gibt die Maus Rahmen Frabe zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausRahmen ? mausRahmen->getFarbe() : 0;
- }
- int AuswahlBox::getMausRahmenBreite() const // gibt die Maus Rahmen Breite zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausRahmen ? mausRahmen->getRBreite() : 0;
- }
- AlphaFeld *AuswahlBox::getMausAlphaFeld() const // gibt das Maus AlphaFeld zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausAf ? (AlphaFeld*)mausAf->getThis() : 0;
- }
- AlphaFeld *AuswahlBox::zMausAlphaFeld() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausAf;
- }
- int AuswahlBox::getMausAlphaFeldFarbe() const // gibt die Maus AlphaFeld Farbe zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausAf ? mausAf->getFarbe() : 0;
- }
- int AuswahlBox::getMausAlphaFeldStrength() const // gibt die Maus AlphaFeld stärke zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausAf ? mausAf->getStrength() : 0;
- }
- int AuswahlBox::getMausHintergrundFarbe() const // gibt die Maus Hintergrund Farbe zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausBgF;
- }
- Bild *AuswahlBox::getMausHintergrundBild() const // gibt das Maus Hintergrund Bild zurück
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausBgB ? mausBgB->getThis() : 0;
- }
- Bild *AuswahlBox::zMausHintergrundBild() const
- {
- if( hatStyle( Style::MultiStyled ) )
- return 0;
- return mausBgB;
- }
- Rahmen *AuswahlBox::getMsMausRahmen( int i ) const // gibt den Multistyle Maus Rahmen zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausRahmen )
- return 0;
- return msMausRahmen->get( i );
- }
- Rahmen *AuswahlBox::zMsMausRahmen( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausRahmen )
- return 0;
- return msMausRahmen->z( i );
- }
- int AuswahlBox::getMsMausRahmenFarbe( int i ) const // gibt die Multistyle Maus Rahmen Frabe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausRahmen )
- return 0;
- return msMausRahmen->z( i ) ? msMausRahmen->z( i )->getFarbe() : 0;
- }
- int AuswahlBox::getMsMausRahmenBreite( int i ) const // gibt die Multistyle Maus Rahmen Breite zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausRahmen )
- return 0;
- return msMausRahmen->z( i ) ? msMausRahmen->z( i )->getRBreite() : 0;
- }
- AlphaFeld *AuswahlBox::getMsMausAlphaFeld( int i ) const // gibt das Multistyle Maus AlphaFeld zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausAf )
- return 0;
- return msMausAf->get( i );
- }
- AlphaFeld *AuswahlBox::zMsMausAlphaFeld( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausAf )
- return 0;
- return msMausAf->z( i );
- }
- int AuswahlBox::getMsMausAlphaFeldFarbe( int i ) const // gibt die Multistyle Maus AlphaFeld Farbe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausAf )
- return 0;
- return msMausAf->z( i ) ? msMausAf->z( i )->getFarbe() : 0;
- }
- int AuswahlBox::getMsMausAlphaFeldStrength( int i ) const // gibt die Multistyle Maus AlphaFeld stärke zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausAf )
- return 0;
- return msMausAf->z( i ) ? msMausAf->z( i )->getStrength() : 0;
- }
- int AuswahlBox::getMsMausHintergrundFarbe( int i ) const // gibt die Multistyle Maus Hintergrund Farbe zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausBgF || !msMausBgF->hat( i ) )
- return 0;
- return msMausBgF->get( i );
- }
- Bild *AuswahlBox::getMsMausHintergrundBild( int i ) const // gibt das Multistyle Maus Hintergrund Bild zurück
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausBgB )
- return 0;
- return msMausBgB->get( i );
- }
- Bild *AuswahlBox::zMsMausHintergrundBild( int i ) const
- {
- if( !hatStyle( Style::MultiStyled ) )
- return 0;
- if( !msMausBgB )
- return 0;
- return msMausBgB->z( i );
- }
- bool AuswahlBox::hatMsStyle( int i, __int64 abStyle ) const // prüft ob Multistyle style vorhanden
- {
- if( ( style | Style::MultiStyled ) != style || !msStyle || !msStyle->hat( i ) )
- return 0;
- return ( msStyle->get( i ) | abStyle ) == msStyle->get( i );
- }
- bool AuswahlBox::hatMsStyleNicht( int i, __int64 abStyle ) const // prüft ob Multistyle style nicht vorhanden
- {
- if( ( style | Style::MultiStyled ) != style || !msStyle || !msStyle->hat( i ) )
- return 1;
- return ( msStyle->get( i ) | abStyle ) != msStyle->get( i );
- }
- Zeichnung *AuswahlBox::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
- {
- AuswahlBox *obj = new AuswahlBox();
- obj->setPosition( pos );
- obj->setSize( gr );
- obj->setMausEreignisParameter( makParam );
- obj->setTastaturEreignisParameter( takParam );
- obj->setMausEreignis( mak );
- obj->setTastaturEreignis( tak );
- if( toolTip )
- obj->setToolTipZ( (ToolTip*)toolTip->dublizieren() );
- obj->setStyle( style );
- if( textRd )
- obj->setTextRendererZ( textRd->getThis() );
- if( rahmen )
- obj->setRahmenZ( (Rahmen*)rahmen->dublizieren() );
- if( ausfahren )
- obj->setAusklappKnopfZ( (Knopf*)ausfahren->dublizieren() );
- obj->setHintergrundFarbe( hintergrundFarbe );
- if( hintergrundBild )
- obj->setHintergrundBild( hintergrundBild->getThis() );
- if( hintergrundFeld )
- obj->setAlphaFeldZ( (AlphaFeld*)hintergrundFeld->dublizieren() );
- if( auswRahmen )
- obj->setAuswRahmenZ( (Rahmen*)auswRahmen->dublizieren() );
- obj->setAuswHintergrundFarbe( auswBgF );
- if( auswBgB )
- obj->setAuswHintergrundBild( auswBgB->getThis() );
- if( auswAf )
- obj->setAuswAlphaFeldZ( (AlphaFeld*)auswAf->dublizieren() );
- if( mausRahmen )
- obj->setMausRahmenZ( (Rahmen*)mausRahmen->dublizieren() );
- obj->setMausHintergrundFarbe( mausBgF );
- if( mausBgB )
- obj->setMausHintergrundBild( mausBgB->getThis() );
- if( mausAf )
- obj->setMausAlphaFeldZ( (AlphaFeld*)mausAf->dublizieren() );
- obj->setMaxAuskappHeight( ausklapMaxHeight );
- obj->setEintragHeight( eintragHeight );
- for( int i = 0; i < anzahl; ++i )
- {
- if( members->z( i ) )
- {
- obj->addEintrag( "a" );
- obj->setEintragZ( i, (TextFeld*)members->z( i )->dublizieren() );
- if( msStyle && msStyle->hat( i ) )
- obj->setMsStyle( i, msStyle->get( i ) );
- if( msAuswRahmen && msAuswRahmen->z( i ) )
- obj->setMsAuswRahmenZ( i, (Rahmen*)msAuswRahmen->z( i )->dublizieren() );
- if( msAuswBgF && msAuswBgF->hat( i ) )
- obj->setMsAuswHintergrundFarbe( i, msAuswBgF->get( i ) );
- if( msAuswBgB && msAuswBgB->z( i ) )
- obj->setMsAuswHintergrundBild( i, msAuswBgB->get( i ) );
- if( msAuswAf && msAuswAf->z( i ) )
- obj->setMsAuswAlphaFeldZ( i, (AlphaFeld*)msAuswAf->z( i )->dublizieren() );
- if( msMausRahmen && msMausRahmen->z( i ) )
- obj->setMsMausRahmenZ( i, (Rahmen*)msMausRahmen->z( i )->dublizieren() );
- if( msMausBgF && msMausBgF->hat( i ) )
- obj->setMsMausHintergrundFarbe( i, msMausBgF->get( i ) );
- if( msMausBgB && msMausBgB->z( i ) )
- obj->setMsMausHintergrundBild( i, msMausBgB->get( i ) );
- if( msMausAf && msMausAf->z( i ) )
- obj->setMsMausAlphaFeldZ( i, (AlphaFeld*)msMausAf->z( i )->dublizieren() );
- }
- }
- obj->setAlphaFeldFarbe( auswahl );
- return obj;
- }
|