Code: Alles auswählen
METHOD mk_dialog:standardPbLeiste(lNavigationAus,; // hier werden Standard PushButton für normale Dialoge aufgebaut
lLoeschenAus,;
oParent,;
getlist,;
objekt,;
lNeuAus,;
lSpeichernAus,;
lAbbruchAus,;
lNavigationWeg,;
lEditAus,;
lAendernAus,;
lFilterAn,;
cWoher)
LOCAL nPbAbstand := oSysPara:skaliereXbParts(5)
LOCAL nPbLAenge
MEMVAR oSysPara
DEFAULT lNavigationAus TO .F.
DEFAULT lLoeschenAus TO .T.
DEFAULT lNeuAus TO .F.
DEFAULT lSpeichernAus TO .F.
DEFAULT lABbruchAus TO .F.
DEFAULT lNavigationWeg TO .F.
DEFAULT lEditAus TO .F.
DEFAULT lAendernAus TO .F.
DEFAULT lFilterAn To .F.
DEFAULT cWoher TO ""
IF ! lNavigationWeg
@ 0,0 DCPUSHBUTTON;
ACTION {|| objekt:skipdb(cWoher,,,,,-1),;
::SkipzusatzDb(),;
dc_getrefresh(getlist),;
dc_getorigset(getlist);
};
CAPTION {SATZ_ANFANG_ENABLE,SATZ_ANFANG_DISABLE};
EVAL {|o| o:setpos( {oSysPara:skaliereXbParts(5),oSysPara:skaliereXbParts(10)}),;
AAdd(::aPbNavigieren,{o,.T.} );
};
HIDE {|| lNavigationAus};
OBJECT ::oPbTop;
PARENT oParent;
SIZE ::nPbLaengeBMP,::nPbHoehe;
TABSTOP;
TOOLTIP "Zum Anfang der Tabelle"
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| objekt:skipsatz(cWoher,,.T.,,,-1),;
::SkipzusatzDb(getlist),;
dc_getrefresh(getlist),;
dc_getorigset(getlist);
};
CAPTION {SATZ_RUECK_ENABLE,SATZ_RUECK_DISABLE};
EVAL {|o| o:setpos( {::oPbTop:currentpos()[1] + ::oPbTop:currentsize()[1],::oPbTop:currentpos()[2]} ),;
AAdd(::aPbNavigieren,{o,.T.});
};
HIDE {|| lNavigationAus};
OBJECT ::oPbZurueck;
PARENT oParent;
SIZE ::nPblaengeBMP,::nPbHoehe;
TABSTOP;
TOOLTIP "vorheriger Satz in der Tabelle"
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| objekt:skipsatz(cWoher,,.T.),;
::SkipzusatzDb(getlist),;
dc_getrefresh(getlist),;
dc_getorigset(getlist);
};
CAPTION {SATZ_VOR_ENABLE,SATZ_VOR_DISABLE};
EVAL {|o| o:setpos( {::oPbZurueck:currentpos()[1] + ::oPbZurueck:currentsize()[1],::oPbZurueck:currentpos()[2]} ),;
AAdd(::aPbNavigieren,{o,.T.});
};
HIDE {|| lNavigationAus};
OBJECT ::oPbVor;
PARENT oParent;
SIZE ::nPblaengeBMP,::nPbHoehe;
TABSTOP;
TOOLTIP "Folgesatz in der Tabelle"
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| objekt:skipdb(cWoher),;
::SkipzusatzDb(getlist),;
dc_getrefresh(getlist),;
dc_getorigset(getlist);
};
CAPTION {SATZ_ENDE_ENABLE,SATZ_ENDE_DISABLE};
EVAL {|o| o:setpos( {::oPbVor:currentpos()[1] + ::oPbVor:currentsize()[1],::oPbVor:currentpos()[2]} ),;
AAdd(::aPbNavigieren,{o,.T.});
};
HIDE {|| lNavigationAus};
OBJECT ::oPbBottom;
PARENT oParent;
SIZE ::nPblaengeBMP,::nPbHoehe;
TABSTOP;
TOOLTIP "Letzter Satz in der Tabelle"
ENDIF
IF ! lEditAus
nPbLaenge := ::ermittelPbMasse(::cPbNeuCaption)
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| ::schalteControls("neu",objekt,getlist)};
CAPTION ::cPbNeuCaption;
CARGO "AN";
EVAL {|o| IF( lNavigationWeg,o:setPos({oSysPara:skaliereXbParts(5),oSysPara:skaliereXbParts(10)}),o:setPos({oSysPara:skaliereXbParts(::oPbBottom:currentPos()[1]) + oSysPara:skaliereXbParts(::oPbBottom:currentSize()[1]),oSysPara:skaliereXbParts(::oPbBottom:currentPos()[2])}))};
HIDE {|| lNeuAus};
OBJECT ::oPbNeu;
PARENT oParent;
SIZE nPbLaenge,::nPbHoehe;
TABSTOP;
TOOLTIP "Neuanlage eines Datensatzes";
WHEN {|| ::pbWhenPruefung(::oPbNeu,objekt,"neu")}
nPbLaenge := ::ermittelPbMasse(::cPbAendernCaption)
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| ::schalteControls("edit",objekt,getlist)};
CAPTION ::cPbAendernCaption;
CARGO "AN";
EVAL {|o| o:setPos( {::oPbNeu:currentPos()[1] + ::oPbNeu:currentSize()[1],::oPbNeu:currentPos()[2]})};
HIDE {|| lAendernAus};
OBJECT ::oPbAendern;
PARENT oParent;
SIZE nPbLaenge,::nPbHoehe;
TABSTOP;
TOOLTIP "Editieren des angezeigten Datensatzes";
WHEN {|| ::pbWhenPruefung(::oPbAendern,objekt,"edit")}
nPbLaenge := ::ermittelPbMasse(::cPbSpeichernCaption)
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| ::schalteControls("speichern",objekt,getlist)};
CAPTION ::cPbSpeichernCaption;
CARGO "AN";
EVAL {|o| o:setPos( {::oPbAendern:currentPos()[1] + ::oPbAendern:currentSize()[1],::oPbAendern:currentPos()[2]})};
HIDE {|| lSpeichernAus};
OBJECT ::oPbSpeichern;
PARENT oParent;
SIZE nPblaenge,::nPbHoehe;
TABSTOP;
TOOLTIP "Speichern des angezeigten Datensatzes";
WHEN {|| ::pbWhenPruefung(::oPbSpeichern,objekt,"speichern")}
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| ::schalteControls("abbruch",objekt,getlist)};
CAPTION {ABBRUCH_ENABLE,ABBRUCH_DISABLE};
CARGO "AN";
EVAL {|o| o:setPos( {::oPbSpeichern:currentPos()[1] + ::oPbSpeichern:currentSize()[1],::oPbSpeichern:currentPos()[2]})};
HIDE {|| lAbbruchAus};
OBJECT ::oPbAbbruch;
PARENT oParent;
SIZE ::nPbLaengeBMP,::nPbHoehe;
TABSTOP;
TOOLTIP "Abbruch des Editiervorganges";
WHEN {|| ::pbWhenPruefung(::oPbAbbruch,objekt,"abbruch")}
nPbLaenge := ::ermittelPbMasse(::cPbLoeschenCaption)
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| ::schalteControls("delete",objekt,getlist)};
CAPTION ::cPbLoeschenCaption;
CARGO "AN";
EVAL {|o| o:setPos( {::oPbAbbruch:currentPos()[1] + ::oPbAbbruch:currentSize()[1],::oPbAbbruch:currentPos()[2]})};
HIDE {|| lLoeschenAus};
OBJECT ::oPbLoeschen;
PARENT oParent;
SIZE nPbLaenge,::nPbHoehe;
TABSTOP;
TOOLTIP "Entfernen des angezeigten Datensatzes";
WHEN {|| ::pbWhenPruefung(::oPbLoeschen,objekt,"delete")}
@ DCGUI_ROW,DCGUI_COL + nPbAbstand DCPUSHBUTTON;
ACTION {|| ::schalteControls("filter",objekt,getlist)};
CAPTION "Filter";
CARGO "AN";
EVAL {|o| o:setPos( {::oPbLoeschen:currentPos()[1] + ::oPbLoeschen:currentSize()[1],::oPbLoeschen:currentPos()[2]})};
HIDE {|| ! lFilterAn};
OBJECT ::oPbFilter;
PARENT oParent;
SIZE ::nPbLaenge,::nPbHoehe;
TABSTOP;
TOOLTIP "Filter auf den Browser";
WHEN {|| ::pbWhenPruefung(::oPbFilter,objekt,"filter")}
ENDIF
nPbAbstand := NIL
nPblaenge := NIL
RETURN self