DEFINE CLASS ficcad AS awcad
Name = "ficcad"
ENDDEFINE
DEFINE CLASS ficcadcustomers AS ficcad
Height = 22
Width = 23
SelectCmd = "SELECT Customer.customer_id, Customer.company_name, Customer.contact_name, Customer.contact_title, Customer.region_id, Customer.active FROM tastrade!customer order by Customer.customer_id"
CursorSchema = "customer_id c(6),company_name c(40),contact_name c(30),contact_title c(40),region_id I,active L"
Alias = "customer_lcad"
DataSourceType = "Native"
CompareMemo = .F.
KeyFieldList = "customer_id"
Tables = "customer"
UpdatableFieldList = "company_name,contact_name,contact_title,region_id,active"
UpdateNameList = "customer_id customer.customer_id,company_name customer.company_name,contact_name customer.contact_name,contact_title customer.contact_title,region_id customer.region_id,active customer.active"
UseCursorSchema = .T.
__vfpsetup = 0
Name = "ficcadcustomers"
PROCEDURE BeforeCursorFill
lparameters lUseCursorSchema, lNoDataOnLoad, cSelectCmd
#IF .F.
local aFilter[1], iFilter, cFilter
for iFilter = 1 to AMembers(aFilter, this.oFilter)
cFilter = m.aFilter[m.iFilter]
cSelectCmd = m.cSelectCmd + Iif(m.iFilter = 1, ' where', '');
+ Textmerge([((?this.oFilter.<<m.cFilter>>::text) is null or <<m.cFilter>> = ?this.oFilter.<<m.cFilter>>)])
endfor
#ENDIF
RETURN dodefault(@m.lUseCursorSchema, @m.lNoDataOnLoad, @m.cSelectCmd)
ENDPROC
PROCEDURE Init
*** Setup code: DO NOT REMOVE
local llReturn
do case
case not pemstatus(This, '__VFPSetup', 5)
This.AddProperty('__VFPSetup', 0)
case This.__VFPSetup = 1
This.__VFPSetup = 2
case This.__VFPSetup = 2
This.__VFPSetup = 0
return
endcase
set multilocks on
llReturn = dodefault()
*** End of Setup code: DO NOT REMOVE
*** Select connection code: DO NOT REMOVE
local lcDBC
lcDBC = FullPath('';
+ Iif(lDevMode();
, Home(1) + 'TOOLS\AB\AW\SAMPLES\';
, '..\';
);
+ '_DATA\TASTRADE.DBC';
)
if dbused(m.lcDBC)
set database to (m.lcDBC)
else
open database (m.lcDBC)
endif
*** End of Select connection code: DO NOT REMOVE
*** Setup code: DO NOT REMOVE
if This.__VFPSetup = 1
This.__VFPSetup = 2
endif
return llReturn
*** End of Setup code: DO NOT REMOVE
ENDPROC
PROCEDURE AutoOpen
*** Setup code: DO NOT REMOVE
if not pemstatus(This, '__VFPSetup', 5)
This.AddProperty('__VFPSetup', 1)
This.Init()
endif
*** End of Setup code: DO NOT REMOVE
ENDPROC
ENDDEFINE
DEFINE CLASS ficcbo AS awcbo
Name = "ficcbo"
ENDDEFINE
DEFINE CLASS ficcbojsvalue AS ficcbo
FontName = "Consolas"
Style = 2
Name = "ficcbojsvalue"
PROCEDURE Valid
if (Type('m.thisForm.wlHTMLgen') == 'L' AND m.thisForm.wlHTMLgen)
return Textmerge([comboValueCollect('<<m.this.Name>>', this.value);])
endif
ENDPROC
PROCEDURE InteractiveChange
return .F.
ENDPROC
ENDDEFINE
DEFINE CLASS ficcboautocomp AS awcboautocomp
Name = "ficcboautocomp"
ENDDEFINE
DEFINE CLASS ficchk AS awchk
Alignment = 0
Name = "ficchk"
ENDDEFINE
DEFINE CLASS ficcmd AS awcmd
FontSize = 9
caption_fr = ""
caption_en = ""
caption_es = ""
caption_it = ""
caption_de = ""
caption_pt = ""
_memberdata = [<VFPData><memberdata name="caption_fr" display="Caption_FR" favorites="True"/><memberdata name="caption_en" display="Caption_EN" favorites="True"/><memberdata name="caption_es" display="Caption_ES" favorites="True"/><memberdata name="caption_it" display="Caption_IT" favorites="True"/><memberdata name="caption_de" display="Caption_DE" favorites="True"/><memberdata name="caption_pt" display="Caption_PT" favorites="True"/></VFPData>]
wcpropsave = "Enabled,Caption"
wcpropsavenot = "Caption_de, Caption_en, Caption_fr, Caption_es, Caption_it, Caption_pt"
Name = "ficcmd"
PROCEDURE refresh_
lparameters void_parameter_reminder_call_dodefault_in_your_sub_class_code
if Type('thisForm.wcLangUser') == 'C' and !empty(thisForm.wcLangUser)
local lcCaptionEN
lcCaptionEN = Evl(this.Caption_EN, this.Caption)
this.Caption = Iif(lProperty(m.this, 'Caption_' + thisForm.wcLangUser);
, Evl(Evaluate('m.this.Caption_' + thisForm.wcLangUser), m.lcCaptionEN);
, m.lcCaptionEN;
)
endif
ENDPROC
ENDDEFINE
DEFINE CLASS ficcmdhover AS ficcmd
Anchor = 161
Themes = .F.
wbswidth = "lg"
Name = "ficcmdhover"
PROCEDURE MouseEnter
lparameters nButton, nShift, nXcoord, nYcoord
IF (Type('m.thisForm.wlHTMLgen') == 'L' AND m.thisForm.wlHTMLgen)
return .F.
endif
* save current aspect
this.FontBold_ = this.FontBold
this.BackColor_ = this.BackColor
this.ForeColor_ = this.ForeColor
* set hover aspect
this.FontBold = NOT this.FontBold
this.BackColor = 0
this.ForeColor = Rgb(255,255,255)
ENDPROC
PROCEDURE Init
* create properties to save current aspect
this.AddProperty('FontBold_', this.FontBold)
this.AddProperty('BackColor_', this.BackColor)
this.AddProperty('ForeColor_', this.ForeColor)
return DoDefault()
ENDPROC
PROCEDURE MouseLeave
lparameters nButton, nShift, nXcoord, nYcoord
IF (Type('m.thisForm.wlHTMLgen') == 'L' AND m.thisForm.wlHTMLgen)
return .F.
endif
* restore current aspect
this.FontBold = this.FontBold_
this.BackColor = this.BackColor_
this.ForeColor = this.ForeColor_
ENDPROC
PROCEDURE Click
lparameters nButton, nShift, nXcoord, nYcoord
if (Type('m.thisForm.wlHTMLgen') == 'L' AND m.thisForm.wlHTMLgen)
return
endif
thisForm.wMessageBox(ICase(;
thisForm.wcLangUser = 'fr', [Rien à voir ici],;
thisform.wcLangUser = 'de', [Hier passiert nichts],;
thisform.wcLangUser = 'it', [Non succede niente qui],;
thisform.wcLangUser = 'es', [Nada sucede aquí],;
thisform.wcLangUser = 'pt', [Nada acontece aqui],;
"Nothing happens here";
) + '...!', 0, 'FoxInCloud Live Tutorial')
ENDPROC
PROCEDURE wchtmlgen
LPARAMETERS toHTMLgen AS awHTMLgen OF awHTML.prg, tlInnerHTML
* implement source code display in Web mode as the default mechanism using bindEvent() can't work because of the
local cSrceCode
cSrceCode = thisForm.srceCodeDisplay(m.this)
= !Empty(m.cSrceCode) and m.toHTMLgen.cScriptJSadd(Textmerge([jQuery('#<<m.this.wcID>>').mouseover(function(event){<<m.cSrceCode>>});]))
ENDPROC
ENDDEFINE
*-- EndDefine: ficcmdhover
**************************************************
**************************************************
*-- Class: ficcmdok (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcmdok (ab\aw\aw.vcx)
*-- BaseClass: commandbutton
*-- Time Stamp: 04/05/19 05:10:12 PM
DEFINE CLASS ficcmdok AS awcmdok
Height = 30
Width = 50
Name = "ficcmdok"
PROCEDURE Init
this.ZOrder
return DoDefault()
ENDPROC
ENDDEFINE
*-- EndDefine: ficcmdok
**************************************************
**************************************************
*-- Class: ficcmg (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcmg (ab\aw\aw.vcx)
*-- BaseClass: commandgroup
*-- Time Stamp: 09/10/13 12:06:00 PM
DEFINE CLASS ficcmg AS awcmg
MemberClassLibrary = "ficsample.vcx"
MemberClass = "ficcmd"
Name = "ficcmg"
ENDDEFINE
*-- EndDefine: ficcmg
**************************************************
**************************************************
*-- Class: ficcnt (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcnt (ab\aw\aw.vcx)
*-- BaseClass: container
*-- Time Stamp: 09/10/13 12:06:00 PM
DEFINE CLASS ficcnt AS awcnt
Name = "ficcnt"
ENDDEFINE
*-- EndDefine: ficcnt
**************************************************
**************************************************
*-- Class: ficcntlstgrc (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficcnt (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: container
*-- Time Stamp: 12/05/20 11:00:13 PM
*-- see: modify Form "fictuto\progs\forms\dynamicGrid.scx"
DEFINE CLASS ficcntlstgrc AS ficcnt
Width = 112
Height = 150
BorderWidth = 0
*-- Grid column number
igrc = 0
_memberdata = [<VFPData><memberdata name="igrc" display="iGrc"/><memberdata name="cnthideshow" display="cntHideShow"/><memberdata name="lstvalueenable" display="lstValueEnable"/></VFPData>]
wueffecthide = .F.
wueffectshow = .F.
wcssclassadd = "cntLstGrc"
Name = "ficcntlstgrc"
ADD OBJECT lst AS ficlst WITH ;
RowSourceType = 8, ;
RowSource = "customer", ;
Height = 120, ;
Left = 0, ;
Top = 30, ;
Width = 110, ;
Name = "lst"
ADD OBJECT lbl AS ficlbl WITH ;
Caption = "Col. ", ;
Height = 18, ;
Left = 5, ;
Top = 6, ;
Width = 61, ;
Name = "lbl"
ADD OBJECT cmd AS ficcmd WITH ;
Top = 3, ;
Left = 82, ;
Height = 24, ;
Width = 27, ;
Caption = "x", ;
wcpropsave = "Enabled", ;
Name = "cmd"
PROCEDURE cnthideshow
lparameters lHide
local aCnt[1];
, nCnt, iCnt;
, oCnt as ficCntLstGrc of ficSample;
* Collect sibling containers
nCnt = aoClassCont(@m.aCnt, this.Parent, this.Class)
aColsIns(@m.aCnt)
for iCnt = m.nCnt to 1 step -1
oCnt = m.aCnt[m.iCnt, 1]
aCnt[m.iCnt, 2] = GetPem(m.oCnt, 'iGrc')
endfor
Asort(m.aCnt, 2)
* Enable / disable this.Lst.Value in sibling lists
if !Empty(this.lst.Value_)
this.lstValueEnable(@m.aCnt, this, .T., this.lst.Value_)
endif
this.lstValueEnable(@m.aCnt, this, m.lHide)
* Show / Hide sibling containers
for iCnt = this.iGrc + 1 to m.nCnt
oCnt = m.aCnt[m.iCnt, 1]
if !m.lHide
oCnt.Visible = .T.
oCnt.Refresh
exit
endif
this.lstValueEnable(@m.aCnt, m.oCnt, .T.)
oCnt.lst.Value = ''
oCnt.Visible = .F.
endfor
this.Refresh
ENDPROC
PROCEDURE lstvalueenable
lparameters aCnt, oCnt, lEnable, cLst_ as String
local success;
, nCnt, iCnt;
, oCnt as ficCntLstGrc of ficSample;
, oLst as ficLst of ficSample;
, cLst as String, cLstT as String;
, iLst as Integer;
cLst_ = Evl(m.cLst_, m.oCnt.lst.Value)
for iCnt = 1 to Alen(m.aCnt, 1)
oLst = m.aCnt[m.iCnt, 1]
if !m.lEnable and m.oLst == m.oCnt
loop
endif
oLst = m.oLst.lst
for iLst = 1 to m.oLst.ListCount
cLst = Iif(thisForm.wlLAN;
, m.oLst.List(m.iLst);
, m.oLst.waRowSource[m.iLst];
)
cLstT = Ltrim(m.cLst, '\')
if m.cLstT == m.cLst_
cLst = Iif(m.lEnable, '', '\') + m.cLstT
if thisForm.wlLAN
m.oLst.List(m.iLst) = m.cLst
else
m.oLst.waRowSource[m.iLst] = m.cLst
endif
exit
endif
endfor
endfor
ENDPROC
PROCEDURE Init
lparameters useless_parm_simple_reminder_to_call_doDefault_anywhere_in_your_subclass_code
this.Visible = this.iGrc = 1
wcPropSaveEdit(this, 'Visible')
return DoDefault()
ENDPROC
PROCEDURE lst.InteractiveChange
lparameters uselessParm && doc in Parent Code
if Type("thisForm.wlHTMLgen") == 'L' and thisForm.wlHTMLgen
return
endif
thisForm.grd.columnCount = Max(thisForm.grd.columnCount, this.Parent.iGrc)
with thisForm.grd.columns(this.Parent.iGrc) as Column
.controlSource = this.Value
.ficGrh1.Caption = Lower(Chrtran(this.Value, '_', ' '))
endwith
thisForm.grd.autoFit
this.Parent.cntHideShow()
this.Value_ = this.Value
ENDPROC
PROCEDURE lst.Init
lparameters fake_parameter_reminder_return_dodefault_after_your_code_you_can_remove_me
wcPropSaveEdit(this, 'Value_')
return DoDefault()
ENDPROC
PROCEDURE lbl.Init
lparameters fake_parameter_reminder_call_dodefault_after_your_code_you_can_remove_it
this.Caption = this.Caption + Cast(this.Parent.iGrc as M)
return DoDefault()
ENDPROC
PROCEDURE cmd.Init
wcPropSaveEdit(this, 'Enabled')
if Type('thisForm') == 'O' and thisForm.wBSlHTMLgen
this.Left = this.Left - 10
this.Width = this.Width + 10
endif
return DoDefault()
ENDPROC
PROCEDURE cmd.refresh_
lparameters void_parameter_reminder_call_dodefault_in_your_sub_class_code
this.Enabled = !Empty(this.Parent.lst.value)
return DoDefault()
ENDPROC
PROCEDURE cmd.Click
lparameters nButton, nShift, nXcoord, nYcoord && doc in Parent Code
if Type("thisForm.wlHTMLgen") == 'L' and thisForm.wlHTMLgen
return
endif
this.Parent.cntHideShow(.T.)
store '' to this.Parent.lst.Value, thisForm.grd.columns(this.Parent.iGrc).controlSource
thisForm.grd.columnCount = this.Parent.iGrc - 1
this.Parent.Refresh
ENDPROC
ENDDEFINE
*-- EndDefine: ficcntlstgrc
**************************************************
**************************************************
*-- Class: ficcntrowsourcetype (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficcnt (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: container
*-- Time Stamp: 08/04/17 11:44:04 AM
DEFINE CLASS ficcntrowsourcetype AS ficcnt
Width = 185
Height = 107
BackStyle = 0
BorderWidth = 0
Name = "ficcntrowsourcetype"
ADD OBJECT lbl AS ficlbl WITH ;
FontBold = .T., ;
Anchor = 11, ;
BackStyle = 0, ;
Caption = "RowSourceType = 1-Values", ;
Height = 17, ;
Left = 0, ;
Top = 0, ;
Width = 185, ;
ForeColor = RGB(0,128,0), ;
ZOrderSet = 0, ;
Name = "lbl"
ADD OBJECT lst AS ficlst WITH ;
FontName = "Consolas", ;
Anchor = 15, ;
RowSourceType = 1, ;
Height = 62, ;
Left = 0, ;
ToolTipText = "Tastrade Products", ;
Top = 18, ;
Width = 185, ;
ZOrderSet = 1, ;
Name = "lst"
ADD OBJECT txt AS fictxt WITH ;
Anchor = 14, ;
Height = 22, ;
Left = 0, ;
Margin = 1, ;
ReadOnly = .T., ;
ToolTipText = "Selection in the above listbox", ;
Top = 85, ;
Width = 185, ;
ZOrderSet = 2, ;
Name = "txt"
ENDDEFINE
*-- EndDefine: ficcntrowsourcetype
**************************************************
**************************************************
*-- Class: ficcntgetfile (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcntgetfile (ab\aw\aw.vcx)
*-- BaseClass: container
*-- Time Stamp: 09/10/13 12:06:04 PM
DEFINE CLASS ficcntgetfile AS awcntgetfile
Name = "ficcntgetfile"
awimggetfile.Height = 16
awimggetfile.Width = 16
awimggetfile.Name = "awimggetfile"
ENDDEFINE
*-- EndDefine: ficcntgetfile
**************************************************
**************************************************
*-- Class: ficcntgetpict (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcntgetpict (ab\aw\aw.vcx)
*-- BaseClass: container
*-- Time Stamp: 09/10/13 12:06:04 PM
DEFINE CLASS ficcntgetpict AS awcntgetpict
Name = "ficcntgetpict"
awimggetpict.Height = 16
awimggetpict.Width = 16
awimggetpict.Name = "awimggetpict"
ENDDEFINE
*-- EndDefine: ficcntgetpict
**************************************************
**************************************************
*-- Class: ficcntgrdpage (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcntgrdpage (ab\aw\aw.vcx)
*-- BaseClass: container
*-- Time Stamp: 12/12/14 06:11:00 PM
DEFINE CLASS ficcntgrdpage AS awcntgrdpage
Name = "ficcntgrdpage"
spnPage.Name = "spnPage"
cboLines.Name = "cboLines"
lbl1.Name = "lbl1"
lbl2.Name = "lbl2"
imgTop.Height = 11
imgTop.Width = 10
imgTop.Name = "imgTop"
imgBot.Height = 11
imgBot.Width = 10
imgBot.Name = "imgBot"
txtSearch.txt.Name = "txt"
txtSearch.img.Height = 16
txtSearch.img.Width = 16
txtSearch.img.Name = "img"
txtSearch.Name = "txtSearch"
ENDDEFINE
*-- EndDefine: ficcntgrdpage
**************************************************
**************************************************
*-- Class: ficcol (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcol (ab\aw\aw.vcx)
*-- BaseClass: collection
*-- Time Stamp: 09/10/13 12:06:00 PM
DEFINE CLASS ficcol AS awcol
Name = "ficcol"
ENDDEFINE
*-- EndDefine: ficcol
**************************************************
**************************************************
*-- Class: ficcst (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcst (ab\aw\aw.vcx)
*-- BaseClass: custom
*-- Time Stamp: 09/10/13 12:06:00 PM
DEFINE CLASS ficcst AS awcst
Name = "ficcst"
ENDDEFINE
*-- EndDefine: ficcst
**************************************************
**************************************************
*-- Class: ficcstapp (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficcst (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: custom
*-- Time Stamp: 04/15/16 10:17:13 AM
DEFINE CLASS ficcstapp AS ficcst
*-- sample user property that FAS maintains across user requests
userproperty = .NULL.
_memberdata = [<VFPData><memberdata name="userproperty" display="userProperty"/></VFPData>]
wcpropsave = "userProperty"
Name = "ficcstapp"
ENDDEFINE
*-- EndDefine: ficcstapp
**************************************************
**************************************************
*-- Class: ficctl (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awctl (ab\aw\aw.vcx)
*-- BaseClass: control
*-- Time Stamp: 09/10/13 12:06:01 PM
DEFINE CLASS ficctl AS awctl
Name = "ficctl"
ENDDEFINE
*-- EndDefine: ficctl
**************************************************
**************************************************
*-- Class: ficcur (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awcur (ab\aw\aw.vcx)
*-- BaseClass: cursor
*-- Time Stamp: 09/10/13 12:06:01 PM
DEFINE CLASS ficcur AS awcur
Height = 23
Width = 23
Name = "ficcur"
ENDDEFINE
*-- EndDefine: ficcur
**************************************************
**************************************************
*-- Class: ficcurcus (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficcur (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: cursor
*-- Time Stamp: 11/28/16 06:14:06 PM
DEFINE CLASS ficcurcus AS ficcur
Height = 23
Width = 23
Alias = "customer"
Database = "..\..\_data\tastrade.dbc"
CursorSource = "customer"
wcpropsave = "Tag"
Name = "ficcurcus"
ENDDEFINE
*-- EndDefine: ficcurcus
**************************************************
**************************************************
*-- Class: ficdte (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awdte (ab\aw\aw.vcx)
*-- BaseClass: dataenvironment
*-- Time Stamp: 11/28/16 06:12:05 PM
DEFINE CLASS ficdte AS awdte
Width = 201
Height = 115
DataSourceType = "NATIVE"
wcpropsave = "Tag"
Name = "ficdte"
ADD OBJECT ficcurcus1 AS ficcurcus WITH ;
Top = 25, ;
Left = 65, ;
Height = 23, ;
Width = 23, ;
Name = "Ficcurcus1"
ENDDEFINE
*-- EndDefine: ficdte
**************************************************
**************************************************
*-- Class: ficebx (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awebx (ab\aw\aw.vcx)
*-- BaseClass: editbox
*-- Time Stamp: 09/10/13 12:06:07 PM
DEFINE CLASS ficebx AS awebx
Name = "ficebx"
ENDDEFINE
*-- EndDefine: ficebx
**************************************************
**************************************************
*-- Class: ficebxevent (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficebx (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: editbox
*-- Time Stamp: 08/20/21 11:39:00 AM
DEFINE CLASS ficebxevent AS ficebx
FontName = "Consolas"
FontSize = 8
Anchor = 15
ReadOnly = .T.
TabStop = .F.
ToolTipText = "Event log"
Name = "ficebxevent"
ENDDEFINE
*-- EndDefine: ficebxevent
**************************************************
**************************************************
*-- Class: ficebxsrcecode (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficebx (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: editbox
*-- Time Stamp: 06/20/18 12:35:01 PM
DEFINE CLASS ficebxsrcecode AS ficebx
FontName = "Consolas"
Anchor = 15
ReadOnly = .T.
TabStop = .F.
ToolTipText = "Hovering a control displays its source code here (dynamically read from form.scx and colorized) - freeze by pressing the shift key while hovering - click to enlarge - copy code as you like"
wcpropsave = "ToolTipText"
wcssclassadd = "sourceCode"
Name = "ficebxsrcecode"
PROCEDURE wchtmlgen
lparameters toHTMLgen AS awHTMLgen OF awHTML.prg, tlInnerHTML && awHTMLgen instance render container's inner HTML
this.wcHTML = m.toHTMLgen.cAttribs(,,,,,,.T.)
this.wcHTML = Textmerge('<div id="<<m.this.wcID>>"<<this.wcHTML>>><<m.this.Value>></div>')
m.toHTMLgen.cScriptJSadd(Textmerge([jQuery('#<<m.this.wcID>>').click(function(event){return srceCodeWindow(event, '', <<cLitteralJS(JustFname(Sys(1271, thisForm)))>>)});]))
ENDPROC
PROCEDURE refresh_
local cToolTipText
do case
case thisForm.wcLangUser = 'fr'
text to m.cToolTipText noshow flags 1 pretext 3
Le survol d'un contrôle affiche son code source ici...
(<i>le code source est lu, localisé et colorisé dynamiquement</i>)
- <b>Geler l'affichage</b> : presser la touche majuscule en déplaçant la souris
- <b>Agrandir dans un écran enfant</b> : clic (mode Web seulement)<br>
- <b>Agrandir dans une nouvelle page</b> : control+click (mode Web seulement)<br>
<i>Copiez le code comme vous voulez !</i>
endtext
case thisForm.wcLangUser = 'de'
text to m.cToolTipText noshow flags 1 pretext 3
Schwebt ein Steuer zeigt den Quellcode hier ...
(<i>der Quellcode lesen, lokalisiert und dynamisch eingefärbt</i>)
- <b>Gefriert Display </b>: Drücken Sie die shift-Taste im Schwebeflug
- <b>Zu einem Kind Form vergrößern </b>: control+Klicke (Web-Modus)<br>
<i>Code kopieren, wie Sie möchten!</i>
endtext
case thisForm.wcLangUser = 'es'
text to m.cToolTipText noshow flags 1 pretext 3
Al pasar por un control muestra el código fuente aquí ...
(<i>código fuente se lee dinámicamente desde form.scx y coloreada</i>)
- <b>Congelar pantalla </b>: pulse la tecla Mayús mientras pasas
- <b>Ampliar a un formulario secundario </b>: clic (modo Web solamente)<br>
- <b>Ampliar a una nueva página </b>: control+clic (modo Web solamente)<br>
<i>Copie el código que quieras!</i>
endtext
case thisForm.wcLangUser = 'it'
text to m.cToolTipText noshow flags 1 pretext 3
Passando un controllo visualizza il codice sorgente qui ...
(<i>del codice sorgente viene letto dinamicamente da form.scx e colorata </i>)
- <b>Blocca schermo <b />: premere il tasto shift mentre si libra
- <b>Ingrandisci ad un form figlio </b>: clic (modalità solo web)<br>
- <b>Ingrandisci ad una pagina nuova </b>: control+clic (modalità solo web)<br>
<i>Copia il codice come ti piace!</i>
endtext
case thisForm.wcLangUser = 'pt'
text to m.cToolTipText noshow flags 1 pretext 3
Pairando um controle exibe seu código fonte aqui ...
(<i>código-fonte é ler dinamicamente a partir form.scx e colorida </i>)
- <b>Congelar exibição </b>: pressione a tecla shift enquanto paira
- <b>Aumentar a um formulário filho </b>: Clique (modo apenas na web)<br>
- <b>Aumentar a uma nova página</b>: control+Clique (modo apenas na web)<br>
<i>Copie o código como você gosta!</i>
endtext
otherwise
text to m.cToolTipText noshow flags 1 pretext 3
Hovering the mouse pointer over a control displays its source code here ...
(<i>source code is dynamically read from form.scx and colorized</i>)
- <b>Freeze display</b>: press the shift key while hovering
- <b>Enlarge to a child form</b>: Click (Web mode only)
- <b>Enlarge to a new page</b>: control+Click (Web mode only)
<i>Enjoy and copy code as you like!</i>
endtext
endcase
this.ToolTipText = cTagsStripped(m.cToolTipText)
= thisForm.wlWeb and !thisForm.wlInitFirst and thisForm.wcScriptJSadd(Textmerge('';
+ [var ebx = jQuery('#<<m.this.wcID>>');];
+ [ebx.html() || ebx.html(<<cLitteralJS(cPAR(m.cToolTipText))>>);];
))
ENDPROC
ENDDEFINE
#INCLUDE "ab\ab.h"
DEFINE CLASS ficfrm AS awfrm
DataSession = 2
Height = 420
Width = 800
DoCreate = .T.
ShowTips = .T.
AutoCenter = .T.
Caption = "FoxInCloud Tutorial - Base Form"
MaxHeight = 700
MaxWidth = 900
MinHeight = 300
MinWidth = 700
AllowOutput = .F.
cobjectevent = ""
icounterevent = 0
cobjectserver = ""
cobjectclient = ""
wlanonymousallowed = .T.
_memberdata = [<VFPData><memberdata name="wremoveobject" display="wRemoveObject" type="method"/><memberdata name="waddobject" display="wAddObject" type="method"/><memberdata name="cchangetabulbysixspace" type="method" display="cChangeTabulBySixSpace"/><memberdata name="cobjectevent" type="property" display="cObjectEvent"/><memberdata name="eventhandler" type="method" display="eventHandler"/><memberdata name="icounterevent" type="property" display="iCounterEvent"/><memberdata name="ladapted" type="method" display="lAdapted"/><memberdata name="useficevent" type="method" display="useFicEvent"/><memberdata name="usemygridcursor" type="method" display="useMyGridCursor"/><memberdata name="usegridcacursor" type="method" display="useGridcaCursor"/><memberdata name="usemygridcacursor" type="method" display="useMyGridcaCursor"/><memberdata name="editmygridcacursor" type="method" display="editMyGridcaCursor"/><memberdata name="initmygridcacursor" type="method" display="initMyGridcaCursor"/><memberdata name="caupdate" type="method" display="caUpdate"/><memberdata name="undocursoradapter" type="method" display="undoCursorAdapter"/><memberdata name="undotable" type="method" display="undoTable"/><memberdata name="undoview" type="method" display="undoView"/><memberdata name="updatecursoradapter" type="method" display="updateCursorAdapter"/><memberdata name="updatetable" type="method" display="updateTable"/><memberdata name="updateview" type="method" display="updateView"/><memberdata name="srcecodedisplay" display="srceCodeDisplay"/><memberdata name="cobjectserver" display="cObjectServer"/><memberdata name="cobjectclient" display="cObjectClient"/><memberdata name="init_srcecode" display="Init_SrceCode"/><memberdata name="init_eventhandler" display="Init_EventHandler"/><memberdata name="init_tooltip" display="Init_ToolTip"/><memberdata name="luienable" display="lUIenable"/><memberdata name="ficeventadd" display="ficEventAdd"/></VFPData>]
wcmessageboxclass = "ficFrmMB"
wcinputboxclass = "ficFrmIB"
Name = "ficfrm"
waitpic.Picture = "..\..\..\..\graphics\led.svg.thumb.green.png"
waitpic.Stretch = 1
waitpic.Height = 10
waitpic.Left = -12
waitpic.Top = 0
waitpic.Width = 10
waitpic.ZOrderSet = 1
waitpic.Name = "waitpic"
*-- Log .UIenable() events
luienable = .F.
ADD OBJECT cntok AS ficcnt WITH ;
Anchor = 13, ;
Top = 8, ;
Left = 696, ;
Width = 100, ;
Height = 357, ;
BackStyle = 0, ;
BorderWidth = 0, ;
ZOrderSet = 0, ;
wcssclassadd = "cntOK", ;
Name = "cntOK"
ADD OBJECT ficfrm.cntok.imgsrce AS ficimgsrce WITH ;
Anchor = 9, ;
Picture = "..\..\..\..\graphics\source-code.png", ;
Left = 37, ;
Top = 33, ;
ZOrderSet = 6, ;
wbscolno = .T., ;
Name = "imgSrce"
ADD OBJECT ficfrm.cntok.cmdok AS ficcmdok WITH ;
Top = 0, ;
Left = 32, ;
Height = 28, ;
Width = 40, ;
FontName = "Consolas", ;
FontSize = 10, ;
Anchor = 9, ;
ZOrderSet = 2, ;
wbscolno = .T., ;
Name = "cmdOK"
ADD OBJECT ficfrm.cntok.opgstyle AS ficopg WITH ;
ButtonCount = 2, ;
Anchor = 9, ;
BackStyle = 0, ;
BorderStyle = 0, ;
Height = 62, ;
Left = 16, ;
Top = 101, ;
Width = 73, ;
wcpropsave = "Visible", ;
wueffecthide = .F., ;
wueffectshow = .F., ;
Name = "opgStyle", ;
Ficopt1.Caption = "Classic", ;
Ficopt1.Height = 31, ;
Ficopt1.Left = 0, ;
Ficopt1.Style = 1, ;
Ficopt1.Top = 0, ;
Ficopt1.Width = 71, ;
Ficopt1.Name = "optClassic", ;
Ficopt2.Caption = "Responsive", ;
Ficopt2.Height = 31, ;
Ficopt2.Left = 0, ;
Ficopt2.Style = 1, ;
Ficopt2.Top = 30, ;
Ficopt2.Width = 71, ;
Ficopt2.Name = "optBS"
ADD OBJECT ficfrm.cntok.imghelp AS ficimg WITH ;
Anchor = 9, ;
Picture = "..\..\..\..\graphics\question-fic-48.png", ;
Stretch = 1, ;
Height = 22, ;
Left = 41, ;
MousePointer = 15, ;
Top = 68, ;
Width = 22, ;
ZOrderSet = 3, ;
ToolTipText = "More details on this form ...", ;
wbscolno = .T., ;
Name = "imgHelp"
ADD OBJECT lblfic AS ficlbl WITH ;
FontSize = 8, ;
Anchor = 14, ;
Caption = "desktop mode", ;
Height = 15, ;
Left = 12, ;
Top = 396, ;
ForeColor = RGB(64,128,128), ;
ZOrderSet = 4, ;
wcpropsave = "Caption, Top", ;
wbsctag = "small", ;
Name = "lblFiC"
ADD OBJECT lbltime AS ficlbl WITH ;
FontName = "Consolas", ;
FontSize = 8, ;
Anchor = 14, ;
Alignment = 1, ;
Caption = "Détails du temps de réponse (Web)", ;
Height = 15, ;
Left = 408, ;
Top = 396, ;
ZOrderSet = 5, ;
ToolTipText = "These figures are echoed in the Browser Console - Browser Tools open generally using F12 or ctrl+shift+I", ;
wcssclassadd = "lblTime text-info", ;
wcpropsave = "Caption,top,left", ;
wbsctag = "small", ;
Name = "lblTime"
PROCEDURE eventhandler
LPARAMETERS p1, p2, p3, p4
LOCAL junk;
, laEvent[1] AS String;
, loSrce AS awTxt OF aw.vcx;
, lcBaseClass AS String;
, lcEvent AS String;
, llEventSurface AS Boolean;
, llEvent AS Boolean;
, llEventSupported AS Boolean;
, llEventClient AS Boolean;
, llEventServer AS Boolean;
, luEvent AS Variant;
, luValue AS Variant;
;
, nParms AS Integer;
, cParms AS String;
, cEvent AS String;
, lObjectSame as Boolean;
, lEventSame as Boolean;
, oGrd AS Grid;
, cValue AS String;
, lAJAX as Boolean;
, oAJAX as awAJAX of awServer.prg;
, oRequest as wwRequest of wwRequest.prg;
, iBindEventFlag as Integer;
, lBindEvent as Boolean;
AEvents(m.laEvent, 0)
loSrce = m.laEvent[1]
lcEvent = cPEMcased(m.loSrce, m.laEvent[2])
if Lower(m.lcEvent) == Lower('UIEnable') and !m.thisForm.lUIenable
return
endif
llEventSurface = InList(Proper(m.lcEvent), Proper("MouseEnter"), Proper("MouseMove"), Proper("MouseLeave"))
lcBaseClass = Padr(m.loSrce.BaseClass, 14)
lAJAX = wlAJAX(@m.oAJAX)
luValue = Iif(InList(Proper(m.lcEvent), Proper('InteractiveChange'), Proper('RangeLow'), Proper('RangeHigh'), 'Valid') and lProperty(m.loSrce, 'Value');
, Iif(lProperty(m.loSrce, 'DisplayValue'), Evl(m.loSrce.Value, m.loSrce.DisplayValue), m.loSrce.Value);
, .null.;
)
lObjectSame = Evaluate(('m.thisForm.cObject' + Iif(m.llEventSurface, 'Client', 'Server'))) == m.lcBaseClass
lEventSame = m.thisForm.cObjectEvent == m.lcEvent
thisForm.iCounterEvent = Iif(m.lObjectSame and m.lEventSame and Proper(m.lcEvent) != Proper('InteractiveChange');
, m.thisForm.iCounterEvent + 1;
, 1;
)
store m.lcBaseClass;
to ('m.thisForm.cObject' + Iif(m.llEventSurface, 'Client', 'Server'))
thisForm.cObjectEvent = m.lcEvent
nParms = PCOUNT()
cEvent = m.lcEvent + Textmerge(ICase(;
Empty(m.nParms) and !IsNull(m.luValue),;
'(<<cL(m.luValue, .T.)>>)',;
m.nParms = 1,;
'(<<cL(m.p1, .T.)>>)',;
m.nParms = 2,;
'(<<cL(m.p1, .T.)>>,<<cL(m.p2, .T.)>>)',;
m.nParms = 3,;
'(<<cL(m.p1, .T.)>>,<<cL(m.p2, .T.)>>,<<cL(m.p3, .T.)>>)',;
m.nParms = 4,;
'(<<cL(m.p1, .T.)>>,<<cL(m.p2, .T.)>>,<<cL(m.p3, .T.)>>,<<cL(m.p4, .T.)>>)',;
'';
))
* Log into file
IF !m.llEventSurface
StrToFile('';
+ Ttoc(Datetime());
+ ' - ' + PROPER(JUSTFNAME(SYS(1271, m.thisForm))) + '.' + m.loSrce.cHierarchy + '.' + m.lcEvent + '()';
+ ' - ' + c2Words(JustFname(m.loSrce.ClassLibrary), '!', m.loSrce.Class) + ' (' + m.loSrce.BaseClass + ')' + CRLF;
, 'ficEvent' + IIF(thisForm.wlWeb,'Web','Lan') + '.log';
, 1;
)
ENDIF
* Log into table
do case
case .F.;
or m.llEventSurface;
or m.thisForm.wlHTMLgen;
or m.lcEvent == 'Deactivate' and (!m.lAJAX or Empty(m.oAJAX.cUserID));
or .F.
case m.lObjectSame and m.lEventSame
replace in ficEvent EVENT with cRefAppend(Trim(ficEvent.Event), m.thisForm.iCounterEvent, .T.)
otherwise
thisForm.ficEventAdd(m.loSrce, m.cEvent)
endcase
cEvent = m.lcBaseClass + m.loSrce.cHierarchy + '.' + m.cEvent
DO CASE
CASE m.thisForm.wlHTMLgen
llEvent = this.oSupport.lEvent(;
m.loSrce.Baseclass;
, ;
, m.lcEvent;
, ;
, @m.llEventClient;
, @m.llEventServer;
)
iBindEventFlag = iBindEventFlag(m.loSrce, m.lcEvent, m.thisForm, 'eventHandler')
DO CASE
CASE IsNull(m.iBindEventFlag) or !(m.llEvent and Bittest(m.iBindEventFlag, 0))
* ASSERT .F.
CASE m.llEventServer and !Proper(m.lcEvent) == 'Keypress'
lBindEvent = UnBindEvents(m.loSrce, m.lcEvent, m.thisForm, 'eventHandler') > 0
luEvent = m.loSrce.&lcEvent()
if m.lBindEvent
BindEvent(m.loSrce, m.lcEvent, m.thisForm, 'eventHandler', m.iBindEventFlag)
endif
RETURN ICase(;
Vartype(m.luEvent) == 'C' and !Empty(m.luEvent),;
m.luEvent,;
.T.;
)
case m.llEventClient
RETURN TEXTMERGE([InsertEventCount(event, <<cLitteralJS(m.cEvent)>>, '<<m.loSrce.cHierarchy>>')])
otherwise
RETURN TEXTMERGE([InsertEventCount(event, <<cLitteralJS(m.cEvent + ": not supported")>>, '<<m.loSrce.cHierarchy>>')])
ENDCASE
CASE TYPE('m.thisForm.tutoInfoBox' + Iif(m.llEventSurface, 'Client', 'Server')) == 'O'
cEvent = m.cEvent;
+ Iif(m.this.wlWeb and lDevMode() and wlRequest(@m.oRequest);
, ' - ' + Iif(Lower(m.oRequest.Form('sync')) == 'true', '', 'a') + 'sync';
, '';
)
with Iif(m.llEventSurface, thisForm.TutoInfoBoxClient, thisForm.TutoInfoBoxServer) as EditBox
.Value = IIF(m.thisForm.iCounterEvent > 1;
, '';
+ cRefAppend(m.cEvent, m.thisForm.iCounterEvent);
+ SUBSTR(.Value, ATC(CRLF, .Value));
, '';
+ m.cEvent + Iif(m.lObjectSame, CRLF, CRLF2);
+ .Value;
)
.SelStart = 1
endwith
RETURN Iif(InList(Proper(m.lcEvent), Proper('RangeHigh'), Proper('RangeLow'));
, .null.;
, .T.;
)
ENDCASE
ENDPROC
*-- a Control is adapted
PROCEDURE ladapted
LPARAMETERS toControl AS awTxt OF aw.vcx
LOCAL lResult AS Boolean
lResult = !lInList('original', m.toControl.wCSSclassAdd)
IF m.lResult
m.toControl.wCSSclassAdd = cListEdit(m.toControl.wCSSclassAdd, 'adapted')
ENDIF
RETURN m.lResult
ENDPROC
PROCEDURE srcecodedisplay
lparameters nButton, nShift, nXcoord, nYcoord
LOCAL success as Boolean;
, laEvent[1];
, oSrce AS ficLst OF ficSample.vcx;
, oTrgt AS ficEbx OF ficSample.vcx;
, cSrceCode as String;
success = .T.;
and (.F.;
or .T.;
and Vartype(m.nButton) == 'O';
and varSet(@m.oSrce, m.nButton);
or .T.;
and AEvents(m.laEvent, 0) > 0;
and varSet(@m.oSrce, m.laEvent[1]);
);
and lProperty(m.oSrce, 'cSrceCode');
and varSet(@m.cSrceCode, m.oSrce.cSrceCode);
and varSet(@m.oTrgt, m.oSrce.oSrceCode);
and !IsNull(m.oTrgt);
and .T.
*setStepOn(Lower(m.oSrce.Name) == Lower('cmdMethod'))
do case
case !m.success;
or Empty(m.cSrceCode);
or Vartype(m.nShift) == 'N' and Bittest(m.nShift, 0)
return .F.
case m.thisForm.wlHTMLgen
cSrceCode = Strtran(m.cSrceCode, TABUL, '  ')
return Textmerge([srceCodeDisplay(event, '<<wcID(m.oTrgt)>>', '<<wcID(m.oSrce)>>', <<cLitteralJS(m.cSrceCode)>>);])
otherwise
m.oTrgt.Value = m.cSrceCode
endcase
return m.success
ENDPROC
PROCEDURE init_srcecode
LPARAMETERS ;
oSrce as Control;
, cProcs as String;
, cProps as String;
, oTrgt as EditBox;
, lMembers as Boolean;
, cCodeAdd as String;
, oXMLDOM as MSXML.DOMdocument;
if thisForm.wlLAN
return ''
endif
external procedure cSrceCodeOfObject
LOCAL result AS String;
, success as Boolean;
, aa[1];
cProps = Iif(ga_Type_IsChar(m.cProps) and Left(Ltrim(m.cProps), 1) # '-';
, cListEdit(cListEdit(m.cProps;
, 'Comment, Tag, wcPropSave, wcPropSaveNot');
, 'Class, ClassLibrary', .T.);
, m.cProps;
)
result = cSrceCodeOfObject(;
m.oSrce;
, Evl(m.cProcs, '-wReadMe');
, m.cProps;
, ;
, ;
, m.cCodeAdd;
, ;
, @m.oXMLDOM;
)
success = .T.;
and AddProperty(m.oSrce, 'cSrceCode', m.result);
and AddProperty(m.oSrce, 'oSrceCode', ICase(;
.F.;
or loClass(m.oTrgt, 'Editbox');
or Vartype(m.oTrgt) == 'C' and Type('thisForm.' + m.oTrgt) == 'O' and varSet(@m.oTrgt, Evaluate('m.thisForm.' + m.oTrgt)) and loClass(m.oTrgt, 'Editbox'),;
m.oTrgt,;
Type('m.oSrce.Parent.tutoInfoBoxFIC') == 'O',;
m.oSrce.Parent.tutoInfoBoxFIC,;
Type('m.oSrce.Parent.Parent.tutoInfoBoxFIC') == 'O',;
m.oSrce.Parent.Parent.tutoInfoBoxFIC,;
Type('m.thisForm.tutoInfoBoxFIC') == 'O',;
m.thisForm.tutoInfoBoxFIC,;
.null.;
));
and wcPropSaveNotEdit(m.oSrce, 'cSrceCode, oSrceCode');
and .T.
do case
case !m.success;
or m.oSrce.BaseClass == 'Olecontrol';
or Lower('Hover') $ Lower(m.oSrce.class)
case lMethod(m.oSrce, 'MouseEnter')
BindEvent(m.oSrce, 'MouseEnter', m.this, 'srceCodeDisplay', 1)
case lMethod(m.oSrce, 'MouseMove')
BindEvent(m.oSrce, 'MouseMove', m.this, 'srceCodeDisplay', 1)
otherwise
this.srceCodeDisplay(m.oSrce)
endcase
if lTrue(m.lMembers) and aoClassCont(@m.aa, m.oSrce, '-ficEbxSrceCode,-ficEbxEvent') > 0
for each oSrce in m.aa foxobject
result = c2Words(m.result, CRLF2, this.Init_SrceCode(;
m.oSrce;
, m.cProcs;
, m.cProps;
, m.oTrgt;
, m.lMembers;
, m.cCodeAdd;
, m.oXMLDOM;
))
endfor
endif
assert m.success
return Iif(m.success, m.result, '')
ENDPROC
PROCEDURE init_eventhandler
LPARAMETERS ;
loCnt as Container;
, iDelegate as Integer;
, cEvents as String;
LOCAL laObject[1];
, loObject AS awTxt OF aw.vcx;
, laMember[1];
, liMember AS Integer;
, lcEvent AS String;
, lcPEMtype AS String;
, lEventAll as Boolean;
, laEvent[1] as String;
, lRowColChange as Boolean;
loCnt = Iif(Vartype(m.loCnt) == 'O', m.loCnt, m.thisForm)
IF aoClassCont(@m.laObject, m.loCnt) > 0
dimension laObject[Alen(m.laObject) + 1]
Ains(m.laObject, 1)
laObject[1] = m.loCnt
lEventAll = !ga_Type_IsChar(m.cEvents, .T.)
= Iif(m.lEventAll, 0, ALines(m.laEvent, m.cEvents, 5, ','))
iDelegate = Cast(m.iDelegate as Integer)
FOR EACH loObject IN m.laObject FOXOBJECT
IF UPPER(LEFT(m.loObject.NAME, 4)) <> "TUTO"
* UnBindEvents(m.loObject)
FOR liMember = 1 TO AMEMBERS(m.laMember, m.loObject, 1)
lcEvent = Proper(m.laMember[m.liMember, 1])
lcPEMtype = Upper(Left(m.laMember[m.liMember, 2], 1))
lRowColChange = InList(Proper(Right(m.lcEvent, Len('ColChange'))), Proper('ColChange'), Proper('RowChange'))
IF .T.;
and (.F.;
or m.lcPEMtype == 'E';
and !m.lRowColChange;
and !InList(m.lcEvent;
, "Programmaticchange";
, "Load";
, "Unload";
, "Paint";
, "Destroy";
);
and !(.F. and thisForm.wBSlHTMLgen and m.lcEvent # 'Valid' and Upper(m.loObject.NAME) == Upper('txtDate'));
or m.lcPEMtype == 'M';
and (.F.;
or m.lRowColChange;
or .T.;
and Left(m.lcEvent, Len('wFormCallBack')) == Proper('wFormCallBack');
and !m.lcEvent == Proper('wFormCallbackExecLAN');
and !Lower(m.loObject.Name) == Lower('cmdMethExec');
);
);
and (.F.;
or m.lEventAll;
or Ascan(m.laEvent, m.lcEvent, 1, -1, 1, 7) > 0;
);
and .T.
BindEvent(;
m.loObject;
, m.lcEvent;
, m.this;
, 'eventHandler';
, Iif(Left(m.lcEvent, Len('wAfter')) == Proper('wAfter'), 1, m.iDelegate);
)
ENDIF
ENDFOR
ENDIF
ENDFOR
ENDIF
ENDPROC
PROCEDURE init_tooltip
* for each member object, sets object's address in form as default tooltip
LOCAL laObject[1];
, loObject AS awCbo of aw.vcx;
, lcObject AS String;
, lcTooltip AS String;
, lAnchorResize as Boolean;
IF aoClassCont(@m.laObject, m.this, , .T.) > 0
dimension laObject[Alen(laObject) + 1]
Ains(laObject, 1)
laObject[1] = m.this
lAnchorResize = m.this.BorderStyle = 3 and !Empty(m.this.ScaleMode)
FOR EACH loObject IN m.laObject FOXOBJECT
IF LEFT(UPPER(m.loObject.NAME),4) <> "TUTO"
lcObject = Sys1272(m.loObject) && modify command abOOP
do case
case .F.;
or !lProperty(m.loObject, 'ToolTipText');
or m.loObject.BaseClass == 'Grid' and !thisForm.wlWeb;
or Type('m.loObject.Parent.Baseclass') == 'C' and m.loObject.Parent.Baseclass == 'Column' and !Empty(m.loObject.Parent.ToolTipText) and !m.loObject.BaseClass == 'Header'; && Column ToolTipText has priority
or .F.
case Empty(m.loObject.ToolTipText)
lcTooltip = m.lcObject + Iif(m.lAnchorResize and lProperty(m.loObject, 'Anchor') and !thisForm.wBSlHTMLgen;
, '.Anchor = ' + Cast(m.loObject.Anchor as M) + ': ' + cAnchor(m.loObject.Anchor); && modify command abOOP
, '';
)
loObject.ToolTipText = Iif(m.loObject.Baseclass == 'Form' and PemStatus(m.loObject, 'Comment', 4);
, Evl(m.loObject.Comment, m.lcTooltip);
, m.lcTooltip;
)
otherwise
wcPropSaveEdit(m.loObject, 'ToolTipText')
endcase
AddProperty(m.loObject, 'cHierarchy', Iif('.' $ m.lcObject; && removes form name
, Substr(m.lcObject, at_c('.', m.lcObject) + 1);
, '';
))
wcPropSaveNotEdit(m.loObject, 'cHierarchy')
endif
endfor
endif
ENDPROC
*-- adds an event to the FoxInCloud Live Tutorial event log
PROCEDURE ficeventadd
lparameters loSrce as awTxt of aw.vcx, cEvent
local oAJAX as awAJAX of awServer.prg, oGrd as awGrd of aw.vcx
INSERT INTO ficEvent;
( MODE;
, USERID;
, FORM;
, NAME;
, EVENT;
, BASECLASS;
, CLASS;
, lBufDirty;
, TIMESTAMP;
);
VALUES;
( ICase(m.thisForm.wlHTMLgen, 'H', m.this.wlWeb, 'W', 'D');
, Iif(wlAJAX(@m.oAJAX), Evl(m.oAJAX.cUserID, .null.), .null.);
, Proper(m.this.Name);
, m.loSrce.cHierarchy;
, m.cEvent;
, m.loSrce.BaseClass;
, m.loSrce.Class;
, Iif(lContIn(m.loSrce, 'Grid', @m.oGrd), lBufferDirty(m.oGrd.RecordSource), .null.); && lBufferDirty
, Datetime();
)
ENDPROC
PROCEDURE wformcallback9
LPARAMETERS tuUserChoice && @ User's choice
this.wMessageBox(Textmerge("Testing call-back from a message box called by thisForm.Init();" + CRLF + "user choice is: <<m.tuUserChoice>>"))
ENDPROC
PROCEDURE Destroy
lparameters fake_parameter_reminder_Return_Dodefault_At_The_End_Of_Your_Code
if this.wlLAN and _screen.FormCount <= 1
clear events
endif
return DoDefault()
ENDPROC
PROCEDURE wreadme
lparameters cLangUser
cLangUser = Evl(Evl(m.cLangUser, m.this.wcLangUser), cLangUser())
local result as String
* remove '.F. && ' whenever a translation is available
do case
case .F.
text to result noshow flags 1
endtext
case .F.
text to result noshow flags 1
endtext
case .F.
text to result noshow flags 1
endtext
case .F.
text to result noshow flags 1
endtext
case .F.
text to result noshow flags 1
endtext
otherwise
text to result noshow flags 1
endtext
endcase
return m.result
ENDPROC
PROCEDURE Load
lparameters void_reminder_to_call_DoDefault_in_your_subclass_when_all_views_and_cursorAdapters_are_open
set safety off
set exact on
set ansi on
set date american
set century on
if wlLAN()
store .T. to ;
this.MinButton;
, this.MaxButton;
, this.Closable;
, this.ControlBox;
, this.HalfHeightCaption
else
local lcSupport
lcSupport = 'awSupport'
this.AddProperty('oSupport', NewObject(m.lcSupport, m.lcSupport + '.prg'))
wcPropSaveNotEdit(m.this, 'oSupport')
endif
this.Icon = 'aw.ico'
wcPropSaveEdit(m.this, 'cObjectClient, cObjectServer, cObjectEvent, iCounterEvent')
CREATE CURSOR myGridCursor (column1 C(20), column2 C(20), column3 C(20))
local liRow, lcRow
for liRow = 1 to 20
lcRow = Padl(m.liRow, 2, '0')
INSERT INTO myGridCursor VALUES (;
'Row ' + m.lcRow + ' - Column 1';
, 'Row ' + m.lcRow + ' - Column 2';
, 'Row ' + m.lcRow + ' - Column 3';
)
endfor
GO TOP
if !Used('ficEvent')
use (Iif(File('ficEvent.dbf');
, 'ficEvent.dbf';
, Addbs(JustPath(this.ClassLibrary)) + '..\ficTuto\ficEvent.dbf';
)) in 0
endif
* this.BorderColor = Rgb(224,224,224)
return DoDefault()
ENDPROC
PROCEDURE Init
local success as Boolean;
, lcName as String;
, laObj[1] as Object;
, loObj as Object;
lcName = Lower(Iif(File(Evl(Sys(1271, m.thisForm), ''));
, Chrtran(JustFname(Sys(1271, m.thisForm)), '.', '_');
, this.Name;
))
success = !thisForm.wlInitFirst or DoDefault()
if (!m.this.wlWeb or m.this.wlInitFirst);
and !m.lcName == Lower(m.this.Class)
* =====================
* =====================
if !InList(m.lcName;
, Lower('Index_scx');
, Lower('EventLog_scx');
, Lower('foxel_scx');
, Lower('TreeView_scx');
, Lower('EventClient_scx');
, Lower('AutoComp_scx');
, Lower('DragDrop_scx');
)
this.Init_EventHandler(;
Iif(m.lcName == Lower('Event_scx'), m.this.pgf, m.this);
, Iif(m.lcName == Lower('Event_scx'), 1, 0);
, Iif(m.lcName == Lower('KeyPress_scx');
, 'Click, KeyPress, wFormCallBack';
, '';
);
)
endif
* =====================
* =====================
DO CASE
CASE m.lcName == Lower('Event_scx')
CASE m.lcName == Lower('RowSourceType_scx')
this.Init_SrceCode(m.this)
IF aoClassCont(@m.laObj, m.this, 'Listbox', .T.) > 0
FOR EACH loObj IN m.laObj FOXOBJECT
this.Init_SrceCode(;
m.loObj;
, 'Init, Refresh_, Requery, InteractiveChange';
, 'RowSourceType, RowSource, BoundColumn';
, ;
, ;
, Iif(m.loObj.rowSourceType == 4;
, m.loObj.RowSource;
, '';
);
)
ENDFOR
ENDIF
CASE m.lcName == Lower('dataUpdate_scx')
this.Init_SrceCode(m.this,,,, .T.)
local cCode as CursorAdapter
cCode = GetCursorAdapter('Customer_LCAD')
text to cCode noshow textmerge flags 1 pretext 3
* CursorGetProp("SQL", 'Customer_View')
<<CursorGetProp("SQL", 'Customer_LView')>>
* CursorAdapter.SelectCmd
<<m.cCode.SelectCmd>>
endtext
this.Init_SrceCode(m.this.opgSourceType,,,, m.cCode)
CASE m.lcName == Lower('RowColChange_scx')
this.tutoInfoBoxVFP.Value = this.Init_SrceCode(m.thisform.myGrid, "AfterRowColChange")
this.tutoInfoBoxFiC.Value = this.Init_SrceCode(m.THISFORM.myGrid, "wAfterRowChange")
CASE m.lcName == Lower('Modal_scx')
thisForm.Init_SrceCode(m.thisForm.cntOrig.cmdForm, 'Click',, 'tutoInfoBoxVFP')
thisForm.Init_SrceCode(m.thisForm.cntOrig.cmdMessageBox, 'Click',, 'tutoInfoBoxVFP')
thisForm.Init_SrceCode(m.thisForm.cntAdap.cmdForm, 'Click,wFormCallBack',, 'tutoInfoBoxFiC')
thisForm.Init_SrceCode(m.thisForm.cntAdap.cmdMessageBox, 'Click,wFormCallBack',, 'tutoInfoBoxFiC')
CASE m.lcName == Lower('UserChoice_scx')
this.Init_SrceCode(;
m.this;
, ;
, 'ControlSource, wuValue, WindowType';
, ;
, .T.;
)
CASE m.lcName == Lower('foxel_scx')
this.Init_SrceCode(;
m.this;
, ;
, 'ScaleMode, Anchor, Style, Border, BorderWidth, BorderStyle, Left, Top, Width, Height';
, ;
, .T.;
)
otherwise
this.Init_SrceCode(m.this,,,, .T.)
endcase
this.Name = m.lcName
this.Init_ToolTip
endif
if !this.wlInitFirst and lDevMode() and .F.
this.wMessageBox(;
'wFormCallBack9';
, Textmerge("Testing message box called from thisForm.Init()" + CRLF + "thisForm.Name = '<<thisForm.Name>>'");
, 3;
)
endif
return m.success
ENDPROC
PROCEDURE useficevent
ENDPROC
PROCEDURE usemygridcursor
ENDPROC
PROCEDURE imgsrce.wchtmlgen
LPARAMETERS toHTMLgen AS awHTMLgen OF awHTML.prg, tlInnerHTML
this.wcHTML = '';
+ '<div';
+ m.toHTMLgen.cAttribs(;
.T.;
, ;
, ;
, '-dimensions';
, 'width: auto; height: auto;';
, ;
);
+ '>';
+ Trim(wcIconFA(;
'code';
, 'muted';
, Iif(thisForm.wBSlHTMLgen, 3, 2);
, ;
, ;
, Iif(thisForm.wBSlHTMLgen, '', 'font-size:1.5em;');
));
+ '</div>'
ENDPROC
PROCEDURE opgstyle.wchtmlgen
LPARAMETERS toHTMLgen AS awHTMLgen OF awHTML.prg, tlInnerHTML
if thisForm.wBSlHTMLgen
local cJS
text to cJS textmerge noshow flags 1 pretext 15
function(){
if (jQuery(window).width() > 1199) jQuery('#<<this.wcID>>').addClass('btn-group-vertical').removeClass('btn-group');
else jQuery('#<<this.wcID>>').removeClass('btn-group-vertical').addClass('btn-group');
}
endtext
m.toHTMLgen.cScriptJSadd(Textmerge([jQuery(document).ready(<<m.cJS>>);jQuery(window).on('resize', <<m.cJS>>);]))
endif
ENDPROC
PROCEDURE opgstyle.refresh_
lparameters void_parameter_reminder_implement_your_Refresh_code_in_this_method
store Iif(thisForm.wBSlHTMLgen, 2, 1) to this.Value, this.Value_
this.Visible = ! thisForm.wlSubForm
ENDPROC
PROCEDURE opgstyle.Init
store 0 to this.Value, this.Value_
return Type('thisForm.wlWeb') == 'L' and thisForm.wlWeb and (!lDevMode() or File('az.h')) and DoDefault()
ENDPROC
PROCEDURE opgstyle.InteractiveChange
if thisForm.wlHTMLgen
return
endif
local oRequest as wwRequest of wwRequest.prg;
, cURL as String
if wlRequest(@m.oRequest) and this.Value # this.Value_
cURL = m.oRequest.getPreviousURL()
cURL = Leftc(m.cURL, ratc('/', m.cURL, Iif(this.Value = 1, 2, 1))) + Iif(this.Value = 2, 'bs/', '') + Substr(m.cURL, ratc('/', m.cURL) + 1)
thisForm.wNavigate(m.cURL)
endif
ENDPROC
PROCEDURE imghelp.Init
return Vartype(thisForm.wReadMe()) == 'C' and !Empty(thisForm.wReadMe()) and DoDefault()
ENDPROC
PROCEDURE imghelp.Click
if m.thisForm.wlHTMLgen
return
endif
local result as String
external procedure cPar
result = m.thisForm.wReadMe(m.thisForm.wcLangUser)
thisForm.wForm('ficFrmHelp';
, '';
, Iif(m.thisForm.wlWeb;
, cPAR(m.result);
, cTagStripped(m.result);
);
, thisForm.Name;
)
ENDPROC
PROCEDURE lblfic.refresh_
local oAppHost as awAppHost of awAppHot.fxp, iVersion, cVersion
iVersion = Int(Version(5) / 100)
cVersion = Iif(m.iVersion = 10, 'A' + Iif(_WIN64, '64', '32') + 'bit', '9')
this.Caption = Iif(wlAppHost(@m.oAppHost);
, Textmerge('VFP' + m.cVersion + '::' + ICase(;
thisForm.wcLangUser = 'fr', [FAS version <<m.oAppHost.cVersion>> du <<m.oAppHost.tVersion>>],;
[FAS version <<m.oAppHost.cVersion>> of <<m.oAppHost.tVersion>>];
));
, 'desktop mode';
)
ENDPROC
PROCEDURE lblfic.Init
this.MousePointer = Iif(m.thisForm.wlWeb, 15, 0)
this.Top = thisForm.Height - this.Height - 2
this.Left = 5
this.Width = Int(this.Parent.Width * .4) - 5 - 1
* this.Width = this.Width / Iif(thisForm.wBSlHTMLgen, 2, 1)
this.ZOrder
return DoDefault()
ENDPROC
PROCEDURE lblfic.Click
do case
case m.thisform.wlHTMLgen
return
case thisform.wlWeb
return thisForm.wNavigate(, "FoxInCloud-status.tuto")
endcase
ENDPROC
PROCEDURE lbltime.Init
lparameters fake_parameter_reminder_call_dodefault_after_your_code_you_can_remove_it
* locate in bottom right corner
this.Top = thisForm.Height - this.Height - 2
this.Width = Int(thisForm.Width * .6) - 5
this.Left = thisForm.Width - this.Width - 5
this.Visible = thisForm.wlWeb
return DoDefault()
ENDPROC
ENDDEFINE
#INCLUDE "ab\ab.h"
DEFINE CLASS ficfrmhelp AS ficfrm
DoCreate = .T.
AutoCenter = .T.
WindowType = 1
Name = "ficfrmhelp"
cntOK.opgStyle.optClassic.Value = 1
cntOK.opgStyle.optClassic.Left = 0
cntOK.opgStyle.optClassic.Top = 0
cntOK.opgStyle.optClassic.Name = "optClassic"
cntOK.opgStyle.optBS.Left = 0
cntOK.opgStyle.optBS.Top = 30
cntOK.opgStyle.optBS.Name = "optBS"
cntOK.opgStyle.Name = "opgStyle"
cntOK.cmdOK.Name = "cmdOK"
cntOK.imgSrce.Name = "imgSrce"
cntOK.imgHelp.Name = "imgHelp"
cntOK.Top = 2
cntOK.Left = 735
cntOK.Width = 62
cntOK.Height = 99
cntOK.ZOrderSet = 0
cntOK.Name = "cntOK"
waitpic.ZOrderSet = 2
waitpic.Name = "waitpic"
lblFiC.Left = 12
lblFiC.Top = 404
lblFiC.ZOrderSet = 3
lblFiC.Name = "lblFiC"
lblTime.Left = 395
lblTime.Top = 405
lblTime.ZOrderSet = 4
lblTime.Name = "lblTime"
ADD OBJECT ebx AS ficebx WITH ;
Anchor = 15, ;
Height = 402, ;
Left = 0, ;
Top = 0, ;
Width = 745, ;
ZOrderSet = 1, ;
Name = "ebx"
PROCEDURE Init
lparameters cHelp, cForm
DoDefault()
if Pcount() > 0
local tutoAppConfig as tutoAppConfig of tutoServer.prg
cHelp = Cast(m.cHelp as M)
this.ebx.Value = Strtran(cCRLFfix(cTagStripped(m.cHelp)), CRLF, CRLF2)
if wlWeb(, @m.tutoAppConfig)
cForm = 'tutoLAN.' + GetWordNum(JustStem(Alltrim(Cast(m.cForm as M))), 1, '_') + '.png'
cHelp = cPAR(m.cHelp);
+ Iif(File(m.tutoAppConfig.cImagePathPhysical + m.cForm);
, '';
+ '<p><strong>' + ICase(;
thisForm.wcLangUser = 'fr',;
'Ce formulaire en version Desktop/LAN ',;
thisForm.wcLangUser = 'de',;
'Dieses Formular in der Desktop/LAN Version',;
thisForm.wcLangUser = 'es',;
'Este formulario en versión de Escritorio/LAN',;
thisForm.wcLangUser = 'it',;
'Questo modulo nella versione Desktop/LAN',;
thisForm.wcLangUser = 'pt',;
'Este formulário na versão Desktop/LAN',;
'This Form in Desktop/LAN version';
) + ':</strong><p>' + CRLF;
+ '<img class="img-responsive" src="' + m.tutoAppConfig.cImagePathVirtual + m.cForm + '">';
, '';
)
thisForm.wcScriptJSadd(Textmerge([jQuery('#<<m.this.ebx.wcID>>').html(<<cLitteralJS(m.cHelp)>>);]))
endif
this.Caption = ICase(;
m.thisForm.wcLangUser = 'fr', [Aide d'un formulaire],;
[Help on Form];
)
endif
ENDPROC
PROCEDURE ebx.wchtmlgen
lparameters toHTMLgen AS awHTMLgen OF awHTML.prg, tlInnerHTML
this.wcHTML = m.toHTMLgen.cAttribs(,,,,,,.T.)
this.wcHTML = Textmerge('<div id="<<m.this.wcID>>"<<this.wcHTML>>></div>')
ENDPROC
PROCEDURE ebx.Init
this.Left = 0
this.Width = Iif(thisForm.wBSlHTMLgen, thisForm.Width *.85, this.Width)
return DoDefault()
ENDPROC
ENDDEFINE
DEFINE CLASS ficfrmib AS awfrmib
DoCreate = .T.
Name = "ficfrmib"
waitpic.Height = 20
waitpic.Width = 20
waitpic.Name = "waitpic"
atxt.Name = "atxt"
acmdok.Name = "acmdok"
acmdannul.Name = "acmdannul"
albl.Name = "albl"
ENDDEFINE
DEFINE CLASS ficfrmlogerror AS awfrmlogerror
DoCreate = .T.
Name = "ficfrmlogerror"
waitpic.Height = 20
waitpic.Width = 20
waitpic.Name = "waitpic"
cmdOK.Name = "cmdOK"
grd.lbl1.Name = "lbl1"
grd.lbl2.Name = "lbl2"
grd.grd.Name = "grd"
grd.cntSearch.txtSearch.Name = "txtSearch"
grd.cntSearch.LBL.Name = "LBL"
grd.cntSearch.Name = "cntSearch"
grd.cmdNext.Name = "cmdNext"
grd.cmdPrev.Name = "cmdPrev"
grd.chkError.Alignment = 0
grd.chkError.Name = "chkError"
grd.cntNav.IMGREFRESH.Name = "IMGREFRESH"
grd.cntNav.cboLines.Name = "cboLines"
grd.cntNav.imgTop.Height = 11
grd.cntNav.imgTop.Width = 10
grd.cntNav.imgTop.Name = "imgTop"
grd.cntNav.imgPrev.Height = 11
grd.cntNav.imgPrev.Width = 6
grd.cntNav.imgPrev.Name = "imgPrev"
grd.cntNav.spnPage.Name = "spnPage"
grd.cntNav.imgNext.Height = 11
grd.cntNav.imgNext.Width = 6
grd.cntNav.imgNext.Name = "imgNext"
grd.cntNav.imgBot.Height = 11
grd.cntNav.imgBot.Width = 10
grd.cntNav.imgBot.Name = "imgBot"
grd.cntNav.Name = "cntNav"
grd.Name = "grd"
ebxError.Name = "ebxError"
cmdXL.Name = "cmdXL"
cntReplay.cmdReplay.Name = "cmdReplay"
cntReplay.cboIDform.Name = "cboIDform"
cntReplay.spnServers.Name = "spnServers"
cntReplay.lblIDform.Name = "lblIDform"
cntReplay.lblServers.Name = "lblServers"
cntReplay.Name = "cntReplay"
PROCEDURE grd.Init
this.wlCntGrcCSpageCursor = .F.
return DoDefault()
ENDPROC
ENDDEFINE
DEFINE CLASS ficfrmmb AS awfrmmb
DoCreate = .T.
Caption = "FoxInCloud Tutorial MessageBox()"
wbslhtmlgen = .T.
Name = "ficfrmmb"
waitpic.Height = 20
waitpic.Width = 20
waitpic.Name = "waitpic"
albl.FontName = "Consolas"
albl.FontSize = 10
albl.Name = "albl"
acmd1.FontName = "Consolas"
acmd1.Name = "acmd1"
acmd2.FontName = "Consolas"
acmd2.Name = "acmd2"
acmd3.FontName = "Consolas"
acmd3.Name = "acmd3"
aimg.Height = 64
aimg.Width = 64
aimg.Name = "aimg"
ENDDEFINE
DEFINE CLASS ficfrs AS awfrs
Name = "ficfrs"
Form1.waitpic.Height = 20
Form1.waitpic.Width = 20
Form1.waitpic.Name = "waitpic"
Form1.DoCreate = .T.
Form1.Name = "Form1"
ENDDEFINE
DEFINE CLASS ficgrd AS awgrd
MemberClassLibrary = ..\fictuto\progs\tutosets.prg
MemberClass = "ficGrc"
RecordSource = ".NULL."
Name = "ficgrd"
PROCEDURE Init
local iGrc, lcAlias, lcField, llDBC, lcCaption
if !Empty(Set("Database"))
with this as grid
FOR iGrc = 1 TO .ColumnCount
with .Columns(m.iGrc) as Column
if Type(.ControlSource) # 'U'
lcField = JustField(.ControlSource, @m.lcAlias)
llDBC = CursorGetProp("Database", m.lcAlias) == Dbc()
lcCaption = Iif(m.llDBC;
, Evl(DBGetProp(.ControlSource, 'Field', 'Caption'), m.lcField);
, m.lcField;
)
.SetAll('Caption', Chrtran(m.lcCaption, '_', ' '), .HeaderClass)
.ToolTipText = Iif(m.llDBC, Evl(DBGetProp(.ControlSource, 'Field', 'Comment'), .ControlSource), .ControlSource)
endif
endwith
endfor
endwith
endif
ENDPROC
ENDDEFINE
DEFINE CLASS fichpl AS awhpl
Name = "fichpl"
ENDDEFINE
DEFINE CLASS ficimg AS awimg
Name = "ficimg"
ENDDEFINE
#INCLUDE "ab\ab.h"
DEFINE CLASS ficimgsrce AS ficimg
Picture = "..\..\..\..\graphics\source-code.png"
Stretch = 1
Height = 30
MousePointer = 15
Width = 30
ToolTipText = "Display form's full source code"
wcssclassadd = "ficImgSrce, text-muted"
Name = "ficimgsrce"
PROCEDURE refresh_
local cToolTipText
do case
case thisForm.wcLangUser = 'fr'
text to m.cToolTipText noshow flags 1 pretext 3
Code source complet du formulaire :
<b>Dans un écran enfant</b> : clic<br>
<b>Dans une nouvelle page</b> : control+click<br>
<i>Copiez le code comme vous voulez !</i>
endtext
case thisForm.wcLangUser = 'de'
text to m.cToolTipText noshow flags 1 pretext 3
Formular Quellcode :
- <b>Zu einem Kind Form vergrößern </b>: control+Klicke<br>
<i>Code kopieren, wie Sie möchten!</i>
endtext
case thisForm.wcLangUser = 'es'
text to m.cToolTipText noshow flags 1 pretext 3
Código fuente del formulario :
- <b>Ampliar a un formulario secundario </b>: clic<br>
- <b>Ampliar a una nueva página </b>: control+clic<br>
<i>Copie el código que quieras!</i>
endtext
case thisForm.wcLangUser = 'it'
text to m.cToolTipText noshow flags 1 pretext 3
Codice sorgente dello form:
- <b>Ad un form figlio </b>: clic<br>
- <b>Ad una pagina nuova </b>: control+clic<br>
<i>Copia il codice come ti piace!</i>
endtext
case thisForm.wcLangUser = 'pt'
text to m.cToolTipText noshow flags 1 pretext 3
Código fonte form :
- <b>A um formulário filho </b>: Clique<br>
- <b>A uma nova página</b>: control+Clique<br>
<i>Copie o código como você gosta!</i>
endtext
otherwise
text to m.cToolTipText noshow flags 1 pretext 3
Form's complete source code:
- <b>In a child form</b>: Click
- <b>In a new page</b>: control+Click
<i>Enjoy and copy code as you like!</i>
endtext
endcase
this.ToolTipText = cTagStripped(m.cToolTipText) && never keep tags, even in web mode
ENDPROC
PROCEDURE Init
if Type('thisForm') == 'O' && standalone instantiation needed
this.AddProperty('srceFile', Lower(JustFname(Evl(Sys(1271, thisForm), thisForm.ClassLibrary))) + ".src")
return thisForm.wlWeb and File(this.srceFile) and DoDefault()
endif
ENDPROC
PROCEDURE Click
lparameters nButton, nShift, nXcoord, nYcoord && doc in Parent Code
if thisForm.wlHTMLgen
return Textmerge([srceCodeWindow(]; && modify file tuto.js
+ [event];
+ [, <<cLitteralJS(cSrceCodeColoredHTML(FileToStr(m.this.srceFile)))>>]; && cTagStripped()
+ [, <<cLitteralJS(JustStem(m.this.srceFile))>>]; && see this.Init()
+ [);])
endif
ENDPROC
PROCEDURE wchtmlgen
LPARAMETERS toHTMLgen AS awHTMLgen OF awHTML.prg, tlInnerHTML && doc in Parent Code
this.wcHTML = '<div' + m.toHTMLgen.cAttribs(.T.) + '>' + Trim(wcIconFA('code', 2)) + '</div>'
ENDPROC
ENDDEFINE
*-- EndDefine: ficimgsrce
**************************************************
**************************************************
*-- Class: ficimggetfile (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awimggetfile (ab\aw\aw.vcx)
*-- BaseClass: image
*-- Time Stamp: 09/10/13 12:06:05 PM
DEFINE CLASS ficimggetfile AS awimggetfile
Height = 16
Width = 16
Name = "ficimggetfile"
ENDDEFINE
*-- EndDefine: ficimggetfile
**************************************************
**************************************************
*-- Class: ficimggetpict (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awimggetpict (ab\aw\aw.vcx)
*-- BaseClass: image
*-- Time Stamp: 09/10/13 12:06:04 PM
DEFINE CLASS ficimggetpict AS awimggetpict
Height = 16
Width = 16
Name = "ficimggetpict"
ENDDEFINE
*-- EndDefine: ficimggetpict
**************************************************
**************************************************
*-- Class: ficlbl (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awlbl (ab\aw\aw.vcx)
*-- BaseClass: label
*-- Time Stamp: 03/22/18 04:05:11 PM
DEFINE CLASS ficlbl AS awlbl
FontName = "Consolas"
BackStyle = 0
caption_en = ""
caption_fr = ""
caption_es = ""
caption_de = ""
caption_it = ""
caption_pt = ""
wcpropsave = "Caption"
_memberdata = [<VFPData><memberdata name="caption_en" display="Caption_EN" favorites="True"/><memberdata name="caption_fr" display="Caption_FR" favorites="True"/><memberdata name="caption_es" display="Caption_ES" favorites="True"/><memberdata name="caption_de" display="Caption_DE" favorites="True"/><memberdata name="caption_it" display="Caption_IT" favorites="True"/><memberdata name="caption_pt" display="Caption_PT" favorites="True"/></VFPData>]
wcpropsavenot = "Caption_de, Caption_en, Caption_fr, Caption_es, Caption_it, Caption_pt"
Name = "ficlbl"
PROCEDURE refresh_
lparameters void_parameter_reminder_call_dodefault_in_your_sub_class_code
if Type('thisForm.wcLangUser') == 'C' and !empty(thisForm.wcLangUser)
local lcCaptionEN
lcCaptionEN = Evl(this.Caption_EN, this.Caption)
this.Caption = Iif(lProperty(m.this, 'Caption_' + thisForm.wcLangUser);
, Evl(Evaluate('m.this.Caption_' + thisForm.wcLangUser), m.lcCaptionEN);
, m.lcCaptionEN;
)
endif
ENDPROC
ENDDEFINE
*-- EndDefine: ficlbl
**************************************************
**************************************************
*-- Class: ficlin (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awlin (ab\aw\aw.vcx)
*-- BaseClass: line
*-- Time Stamp: 09/10/13 12:06:02 PM
DEFINE CLASS ficlin AS awlin
Name = "ficlin"
ENDDEFINE
*-- EndDefine: ficlin
**************************************************
**************************************************
*-- Class: ficlst (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awlst (ab\aw\aw.vcx)
*-- BaseClass: listbox
*-- Time Stamp: 09/10/13 12:06:05 PM
DEFINE CLASS ficlst AS awlst
Name = "ficlst"
ENDDEFINE
*-- EndDefine: ficlst
**************************************************
**************************************************
*-- Class: ficoledtp6 (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awoledtp6 (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:13 PM
*-- OLEObject = C:\windows\SysWow64\MSCOMCT2.OCX
DEFINE CLASS ficoledtp6 AS awoledtp6
Name = "ficoledtp6"
ENDDEFINE
*-- EndDefine: ficoledtp6
**************************************************
**************************************************
*-- Class: ficoleie (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awoleie (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:13 PM
*-- OLEObject = C:\Windows\SysWOW64\ieframe.dll
DEFINE CLASS ficoleie AS awoleie
Height = 100
Width = 100
Name = "ficoleie"
ENDDEFINE
*-- EndDefine: ficoleie
**************************************************
**************************************************
*-- Class: ficoleiml6 (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awoleiml6 (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 11/17/17 02:41:09 PM
*-- OLEObject = C:\Windows\system32\mscomctl.OCX
DEFINE CLASS ficoleiml6 AS awoleiml6
Height = 40
Name = "ficoleiml6"
ENDDEFINE
*-- EndDefine: ficoleiml6
**************************************************
**************************************************
*-- Class: ficolelv6 (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolelv6 (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:13 PM
*-- OLEObject = C:\windows\SysWOW64\MSCOMCTL.OCX
DEFINE CLASS ficolelv6 AS awolelv6
Height = 100
Width = 100
Name = "ficolelv6"
ENDDEFINE
*-- EndDefine: ficolelv6
**************************************************
**************************************************
*-- Class: ficolemv6 (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolemv6 (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:13 PM
*-- OLEObject = C:\windows\SysWow64\MSCOMCT2.OCX
DEFINE CLASS ficolemv6 AS awolemv6
Height = 188
Width = 224
Name = "ficolemv6"
ENDDEFINE
*-- EndDefine: ficolemv6
**************************************************
**************************************************
*-- Class: ficolepdfacro (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolepdfacro (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:13 PM
*-- OLEObject = C:\Program Files (x86)\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll
DEFINE CLASS ficolepdfacro AS awolepdfacro
Height = 100
Width = 100
Name = "ficolepdfacro"
ENDDEFINE
*-- EndDefine: ficolepdfacro
**************************************************
**************************************************
*-- Class: ficolepdfoxit (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolepdfoxit (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:14 PM
*-- OLEObject = C:\PROGRA~2\FOXITS~1\FOXITR~1\plugins\FOXITR~1.OCX
DEFINE CLASS ficolepdfoxit AS awolepdfoxit
Height = 100
Width = 100
Name = "ficolepdfoxit"
ENDDEFINE
*-- EndDefine: ficolepdfoxit
**************************************************
**************************************************
*-- Class: ficolepdfxc (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolepdfxc (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:14 PM
*-- OLEObject = C:\Program Files\Tracker Software\PDF Viewer\Win32\PDFXCviewAx.dll
DEFINE CLASS ficolepdfxc AS awolepdfxc
Height = 100
Width = 100
Name = "ficolepdfxc"
ENDDEFINE
*-- EndDefine: ficolepdfxc
**************************************************
**************************************************
*-- Class: ficolepdfxcp (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolepdfxcp (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:14 PM
*-- OLEObject = C:\Program Files\Tracker Software\PDF Viewer\Win32\PDFXCviewAx.dll
DEFINE CLASS ficolepdfxcp AS awolepdfxcp
Height = 100
Width = 100
Name = "ficolepdfxcp"
ENDDEFINE
*-- EndDefine: ficolepdfxcp
**************************************************
**************************************************
*-- Class: ficolertf6 (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awolertf6 (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:14 PM
*-- OLEObject = C:\windows\SysWOW64\richtx32.ocx
DEFINE CLASS ficolertf6 AS awolertf6
Height = 100
Width = 100
Name = "ficolertf6"
ENDDEFINE
*-- EndDefine: ficolertf6
**************************************************
**************************************************
*-- Class: ficoletv6 (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awoletv6 (ab\aw\aw.vcx)
*-- BaseClass: olecontrol
*-- Time Stamp: 09/10/13 12:05:14 PM
*-- OLEObject = C:\windows\SysWOW64\MSCOMCTL.OCX
DEFINE CLASS ficoletv6 AS awoletv6
Width = 100
Name = "ficoletv6"
ENDDEFINE
*-- EndDefine: ficoletv6
**************************************************
**************************************************
*-- Class: ficopg (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awopg (ab\aw\aw.vcx)
*-- BaseClass: optiongroup
*-- Time Stamp: 09/10/13 12:06:02 PM
DEFINE CLASS ficopg AS awopg
MemberClassLibrary = "ficsample.vcx"
MemberClass = "ficopt"
Name = "ficopg"
ENDDEFINE
*-- EndDefine: ficopg
**************************************************
**************************************************
*-- Class: ficopt (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awopt (ab\aw\aw.vcx)
*-- BaseClass: optionbutton
*-- Time Stamp: 01/13/15 01:55:14 PM
DEFINE CLASS ficopt AS awopt
BackStyle = 0
Name = "ficopt"
ENDDEFINE
*-- EndDefine: ficopt
**************************************************
**************************************************
*-- Class: ficpag (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awpag (ab\aw\aw.vcx)
*-- BaseClass: page
*-- Time Stamp: 09/10/13 12:06:02 PM
DEFINE CLASS ficpag AS awpag
Name = "ficpag"
ENDDEFINE
*-- EndDefine: ficpag
**************************************************
**************************************************
*-- Class: myficpag (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficpag (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: page
*-- Time Stamp: 11/25/16 11:41:14 AM
DEFINE CLASS myficpag AS ficpag
FontName = "Consolas"
Name = "myficpag"
PROCEDURE Activate
IF (TYPE('m.THISFORM.wlHTMLgen') == 'L' AND m.THISFORM.wlHTMLgen)
RETURN .T. && Execute this VFP event code (on FoxInCloud server)
ENDIF
this.parent.PageActivate(m.THIS)
ENDPROC
ENDDEFINE
*-- EndDefine: myficpag
**************************************************
**************************************************
*-- Class: ficpgf (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awpgf (ab\aw\aw.vcx)
*-- BaseClass: pageframe
*-- Time Stamp: 09/10/13 12:06:02 PM
DEFINE CLASS ficpgf AS awpgf
ErasePage = .T.
MemberClassLibrary = "ficsample.vcx"
MemberClass = "ficpag"
Name = "ficpgf"
ENDDEFINE
*-- EndDefine: ficpgf
**************************************************
**************************************************
*-- Class: myficpgf (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: ficpgf (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: pageframe
*-- Time Stamp: 11/25/16 06:46:03 PM
DEFINE CLASS myficpgf AS ficpgf
ErasePage = .T.
MemberClassLibrary = "ficsample.vcx"
MemberClass = "myficpag"
_memberdata = [<VFPData><memberdata name="pageactivate" display="PageActivate"/></VFPData>]
Name = "myficpgf"
PROCEDURE pageactivate
lparameters toPage as myFicPag of ficSample.vcx
local loPage as myFicPag of ficSample.vcx;
, lPage as Boolean
if Vartype(m.toPage)== 'O'
for each loPage in m.this.Pages foxobject
with m.loPage as myFicPag of ficSample.vcx
lPage = .PageOrder = m.toPage.PageOrder
.BackColor = Iif(m.lPage;
, Rgb(255,255,255); && white
, Rgb(255,255,210); && light green && Rgb(220,220,220) light grey
)
.ForeColor = Iif(m.lPage;
, 0; && black
, Rgb(128,128,128); && gray
)
.FontBold = m.lPage
endwith
endfor
endif
ENDPROC
ENDDEFINE
*-- EndDefine: myficpgf
**************************************************
**************************************************
*-- Class: ficprj (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awprj (ab\aw\aw.vcx)
*-- BaseClass: projecthook
*-- Time Stamp: 11/07/18 10:41:09 AM
DEFINE CLASS ficprj AS awprj
Name = "ficprj"
PROCEDURE Init
lparameters cPathClass
return DoDefault(Addbs(JustPath(this.ClassLibrary)) + '..\ficTuto\progs\')
ENDPROC
ENDDEFINE
*-- EndDefine: ficprj
**************************************************
**************************************************
*-- Class: ficrel (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awrel (ab\aw\aw.vcx)
*-- BaseClass: relation
*-- Time Stamp: 09/10/13 12:06:03 PM
DEFINE CLASS ficrel AS awrel
Height = 23
Width = 23
Name = "ficrel"
ENDDEFINE
*-- EndDefine: ficrel
**************************************************
**************************************************
*-- Class: ficsep (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awsep (ab\aw\aw.vcx)
*-- BaseClass: separator
*-- Time Stamp: 09/10/13 12:06:03 PM
DEFINE CLASS ficsep AS awsep
Height = 0
Width = 0
Name = "ficsep"
ENDDEFINE
*-- EndDefine: ficsep
**************************************************
**************************************************
*-- Class: ficshp (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awshp (ab\aw\aw.vcx)
*-- BaseClass: shape
*-- Time Stamp: 09/10/13 12:06:03 PM
DEFINE CLASS ficshp AS awshp
Name = "ficshp"
ENDDEFINE
*-- EndDefine: ficshp
**************************************************
**************************************************
*-- Class: ficspn (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awspn (ab\aw\aw.vcx)
*-- BaseClass: spinner
*-- Time Stamp: 09/10/13 12:06:06 PM
DEFINE CLASS ficspn AS awspn
Name = "ficspn"
ENDDEFINE
*-- EndDefine: ficspn
**************************************************
**************************************************
*-- Class: fictbr (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awtbr (ab\aw\aw.vcx)
*-- BaseClass: toolbar
*-- Time Stamp: 09/10/13 12:06:04 PM
DEFINE CLASS fictbr AS awtbr
Height = 15
Left = 0
Top = 0
Width = 33
Name = "fictbr"
ENDDEFINE
*-- EndDefine: fictbr
**************************************************
**************************************************
*-- Class: fictmr (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awtmr (ab\aw\aw.vcx)
*-- BaseClass: timer
*-- Time Stamp: 09/10/13 12:06:03 PM
DEFINE CLASS fictmr AS awtmr
Name = "fictmr"
ENDDEFINE
*-- EndDefine: fictmr
**************************************************
**************************************************
*-- Class: fictxt (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awtxt (ab\aw\aw.vcx)
*-- BaseClass: textbox
*-- Time Stamp: 06/16/22 09:53:03 PM
DEFINE CLASS fictxt AS awtxt
_memberdata = [<VFPData><memberdata name="selstart" display="SelStart"/><memberdata name="selstart_assign" display="SelStart_Assign"/><memberdata name="selstart_access" display="SelStart_Access"/><memberdata name="selstart_" display="SelStart_"/></VFPData>]
selstart_ = 0
Name = "fictxt"
PROCEDURE selstart_access
return Iif(thisForm.wlWeb, This.SelStart_, This.SelStart)
ENDPROC
ENDDEFINE
*-- EndDefine: fictxt
**************************************************
**************************************************
*-- Class: fictxtgrc (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: fictxt (ab\aw\samples\fic\classe\ficsample.vcx)
*-- BaseClass: textbox
*-- Time Stamp: 02/19/15 05:51:08 PM
DEFINE CLASS fictxtgrc AS fictxt
Name = "fictxtgrc"
PROCEDURE refresh_
this.Parent.ReadOnly = thisForm.sourceType() == 'Table'
ENDPROC
ENDDEFINE
*-- EndDefine: fictxtgrc
**************************************************
**************************************************
*-- Class: ficxad (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awxad (ab\aw\aw.vcx)
*-- BaseClass: xmladapter
*-- Time Stamp: 09/10/13 12:06:03 PM
DEFINE CLASS ficxad AS awxad
Name = "ficxad"
Tables.Name = "Tables"
ENDDEFINE
*-- EndDefine: ficxad
**************************************************
**************************************************
*-- Class: ficxfd (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awxfd (ab\aw\aw.vcx)
*-- BaseClass: xmlfield
*-- Time Stamp: 09/10/13 12:06:03 PM
DEFINE CLASS ficxfd AS awxfd
Name = "ficxfd"
ENDDEFINE
*-- EndDefine: ficxfd
**************************************************
**************************************************
*-- Class: ficxtb (ab\aw\samples\fic\classe\ficsample.vcx)
*-- ParentClass: awxtb (ab\aw\aw.vcx)
*-- BaseClass: xmltable
*-- Time Stamp: 09/10/13 12:06:04 PM
DEFINE CLASS ficxtb AS awxtb
Name = "ficxtb"
Fields.Name = "Fields"
ENDDEFINE
*-- EndDefine: ficxtb
**************************************************