*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.19" SourceFile="test_public_protected.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS cmdbutton1 AS commandbutton 
 	*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*p: invalue
	*</DefinedPropArrayMethod>

	Caption = "Command1"
	Height = 27
	invalue = Default Value
	Name = "cmdbutton1"
	Width = 84

ENDDEFINE

DEFINE CLASS cmdsubbutton AS cmdbutton1 OF "test_public_protected.vcx" 
 	*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />

	PROTECTED invalue
	invalue = New Value
	Name = "cmdsubbutton"

ENDDEFINE

DEFINE CLASS frmform1 AS form 
 	*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="txtAddedThisThird" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Command1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmdbutton11" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: canprocess
		*m: initobjects
		*m: processaction
		*m: processactionpart1
		*m: processactionpart2
	*</DefinedPropArrayMethod>

	Caption = "Form"
	DoCreate = .T.
	Name = "frmform1"

	ADD OBJECT 'Cmdbutton11' AS cmdsubbutton WITH ;
		Height = 36, ;
		Left = 60, ;
		Name = "Cmdbutton11", ;
		Top = 144, ;
		Width = 120
		*< END OBJECT: ClassLib="test_public_protected.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Command1' AS commandbutton WITH ;
		Caption = "This button was added second", ;
		DefHeight = , ;
		DefLeft = , ;
		Height = (25), ;
		Left = (this.Height), ;
		Name = "Command1", ;
		Top = 48, ;
		Width = 192
		*< END OBJECT: BaseClass="commandbutton" />

	ADD OBJECT 'Label1' AS label WITH ;
		Caption = "This label was added first", ;
		Height = 18, ;
		Left = 24, ;
		Name = "Label1", ;
		Top = 12, ;
		Width = 144
		*< END OBJECT: BaseClass="label" />

	ADD OBJECT 'txtAddedThisThird' AS textbox WITH ;
		Height = 25, ;
		Left = 24, ;
		Name = "txtAddedThisThird", ;
		Top = 96, ;
		Width = 180
		*< END OBJECT: BaseClass="textbox" />
	
	PROTECTED PROCEDURE canprocess
	ENDPROC

	PROCEDURE Init
		*
		* Init the form!
		*
		thisform.Caption = "Hello world!"
	ENDPROC

	PROTECTED PROCEDURE initobjects
		*
		* Initialize some objects here
		*
	ENDPROC

	PROCEDURE processaction
		*
		* ProcessActions again, all public
		*
		* TODO
	ENDPROC

	PROTECTED PROCEDURE processactionpart1
		*
		* Part 1, do some stuff
		*
		SELECT 0
	ENDPROC

	PROTECTED PROCEDURE processactionpart2
	ENDPROC

ENDDEFINE

DEFINE CLASS frmform2 AS form 
 	*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: privatemethod		&& A private method
		*m: protectedmethod		&& A protected method
		*m: publicmethod		&& Regular public method
	*</DefinedPropArrayMethod>

	Caption = "Form"
	DoCreate = .T.
	Name = "frmform2"

	ADD OBJECT 'Label1' AS label WITH ;
		Caption = "Added this control first", ;
		Height = 25, ;
		Left = 36, ;
		Name = "Label1", ;
		Top = 24, ;
		Width = 205
		*< END OBJECT: BaseClass="label" />
	
	HIDDEN PROCEDURE privatemethod		&& A private method
		* Private method
	ENDPROC

	PROTECTED PROCEDURE protectedmethod		&& A protected method
		* Protected method
	ENDPROC

	PROCEDURE publicmethod		&& Regular public method
		* Pub method
	ENDPROC

ENDDEFINE
