C# Class CSReportEditor.cEditor

显示文件 Open project: javiercrowsoft/CSReports.net Class Usage Examples

Public Methods

Method Description
addChart ( ) : void
addDBField ( ) : void
addGroup ( ) : void
addImage ( ) : void
addLabel ( ) : void
addLineLabel ( ) : void
addSection ( csRptSectionType typeSection ) : void
addSection ( csRptTypeSection typeSection ) : void
addSectionLine ( ) : void
bringToFront ( ) : void
cEditor ( fMain fmain, Panel editor, PictureBox rule, PictureBox report, TabPage editorTab ) : System
checkSyntax ( String code ) : bool
close ( ) : bool
configConnection ( cReportConnect rptConnect ) : bool
controlsAlign ( CSReportGlobals align ) : void
copy ( ) : void
deleteObj ( bool bDelSectionLine ) : void
destroyPropertiesFormReference ( ) : void
editConnectionString ( ) : void
editDataSource ( ) : void
editSection ( String secKey ) : void
editText ( ) : void
getBMoveHorizontal ( ) : bool
getBMoveNoMove ( ) : bool
getBMoveVertical ( ) : bool
getCopies ( ) : int
getCustomHeight ( ) : int
getCustomWidth ( ) : int
getDataHasChanged ( ) : bool
getEditorTab ( ) : TabPage
getFGroup ( ) : fGroup
getFileName ( ) : String
getOrientation ( ) : int
getPaint ( ) : cReportPaint
getPaint ( ) : cReportPaint
getPaperSize ( ) : csReportPaperType
getReport ( ) : cReport
getSectionOrSectionLineFromKey ( string key ) : object
getShowingProperties ( ) : bool
getVCopyKeys ( int idx ) : String
getVCopyKeysCount ( ) : int
init ( ) : void
moveAll ( ) : void
moveGroup ( ) : void
moveHorizontal ( ) : void
moveNoMove ( ) : void
moveVertical ( ) : void
newReport ( cReport report ) : void
openDocument ( ) : bool
openDocument ( String fileName ) : bool
pAddColumnsToToolbox ( String dataSource, cColumnsInfo columns ) : void
pAddColumnsToToolbox ( String dataSource, cColumnsInfo columns, fToolbox f ) : void
pAddLabelAux ( csRptEditCtrlType ctlType ) : void
pSetFontBoldValue ( ) : void
paste ( bool bDontMove ) : void
preview ( ) : void
printReport ( ) : void
refreshAll ( ) : void
refreshPostion ( ) : void
refreshReport ( ) : void
saveChanges ( ) : bool
saveDocument ( bool saveAs ) : bool
search ( ) : void
selectCtrl ( String ctrlKey ) : void
selectSection ( String secKey ) : void
sendToBack ( ) : void
setAllConnectToMainConnect ( ) : void
setCopies ( int rhs ) : void
setCustomHeight ( int rhs ) : void
setCustomWidth ( int rhs ) : void
setDataHasChanged ( bool rhs ) : void
setFGroup ( fGroup rhs ) : void
setFocusCtrl ( String ctrlKey ) : void
setFontBold ( ) : void
setKeyboardMoveStep ( int rhs ) : void
setOrientation ( int rhs ) : void
setPaperSize ( csReportPaperType rhs ) : void
setParameters ( ) : void
setShowingProperties ( bool rhs ) : void
setSimpleConnection ( ) : void
showConnectsAux ( ) : void
showControls ( ) : void
showControlsTree ( ) : void
showEditFormula ( String &formula ) : bool
showGrid ( CSReportPaint typeGrid ) : void
showGrid ( csETypeGrid typeGrid ) : void
showGroupProperties ( ) : void
showHelpChartField ( TextBox ctrl, int idx ) : bool
showHelpChartGroupField ( ) : bool
showHelpDbField ( ) : bool
showHelpDbFieldForGroup ( ) : bool
showProperties ( ) : void
showProperties ( string key ) : void
showSecLnProperties ( ) : void
showSectionProperties ( ) : void
showToolBox ( ) : void
showToolbox ( ) : void
textAlign ( CSReportGlobals align ) : void

Private Methods

Method Description
addControlEnd ( float left, float top ) : bool
askEdit ( String msg, String title ) : csAskEditResult
beginDraging ( ) : void
cEditor ( ) : System
closeProgressDlg ( ) : void
editCtrl ( String ctrlKey ) : void
endDraging ( ) : void
endEditText ( bool descartar ) : void
form_Activate ( ) : void
form_Deactivate ( ) : void
form_Load ( ) : void
getAllHeadersAndGroupsAndDetailsHeight ( ) : float
getHeightFromSections ( cIReportGroupSections sections, cReportSection section ) : float
getHeightOfSectionsBellowMe ( cReportSection section, String secLnKey ) : float
getLineRegionForControl ( String sKeyPaintObj, cReportSectionLine &rptSecLine, bool isFreeCtrl ) : bool
getRegionForControl ( String sKeyPaintObj, cReportSection &rptSection, bool isFreeCtrl ) : bool
getRegionForControlAux ( cIReportGroupSections rptSections, float x, float y, cReportSection &rptSection, bool isFreeCtrl ) : bool
getSectionOrSectionLineFromKey ( string key, cIReportGroupSections sections ) : object
launchReport ( ) : void
m_fConnectsAux_AddConnect ( ) : void
m_fConnectsAux_DeleteConnect ( ) : void
m_fConnectsAux_EditConnect ( ) : void
m_fControls_EditCtrl ( String ctrlKey ) : void
m_fControls_SetFocusCtrl ( String ctrlKey ) : void
m_fFormula_CheckSintaxis ( bool &cancel, String code ) : void
m_fGroup_ShowHelpDbField ( ) : void
m_fGroup_UnloadForm ( ) : void
m_fProgress_Cancel ( ) : void
m_fProperties_ShowEditFormula ( String formula, bool &cancel ) : void
m_fProperties_ShowHelpChartField ( bool &cancel, TextBox ctrl, int idx ) : void
m_fProperties_ShowHelpChartGroupField ( bool &cancel ) : void
m_fProperties_ShowHelpDbField ( bool &cancel ) : void
m_fProperties_UnloadForm ( ) : void
m_fSearch_EditCtrl ( String ctrlKey ) : void
m_fSearch_EditSection ( String secKey ) : void
m_fSearch_SetFocusCtrl ( String ctrlKey ) : void
m_fSearch_SetFocusSec ( String secKey ) : void
m_fSecProperties_ShowEditFormula ( String formula, bool &cancel ) : void
m_fSecProperties_UnloadForm ( ) : void
m_fToolBox_AddControl ( String controlName, csRptEditCtrlType controlType, String fieldName, String formulaText, int fieldType, int fieldIndex ) : void
m_fTreeCtrls_EditCtrl ( String ctrlKey ) : void
m_fTreeCtrls_EditSection ( String secKey ) : void
m_fTreeCtrls_SetFocusCtrl ( String ctrlKey ) : void
m_fTreeCtrls_SetFocusSec ( String secKey ) : void
m_fTreeCtrls_UpdateFormulaHide ( String ctrlKey, String formula ) : void
m_fTreeCtrls_UpdateFormulaValue ( String ctrlKey, String formula ) : void
m_fTreeCtrls_UpdateSectionFormulaHide ( String secKey, String formula ) : void
m_picReport_KeyDown ( int keyCode, int shift ) : void
m_picReport_KeyUp ( int keyCode, bool ctrlKey ) : void
m_picReport_MouseDown ( MouseButtons button, bool ctrlKey, int x, int y ) : void
m_picReport_MouseDown ( object sender, System e ) : void
m_picReport_MouseMove ( MouseButtons button, int shift, float x, float y ) : void
m_picReport_MouseMove ( object sender, System e ) : void
m_picReport_MouseUp ( MouseButtons button, int shift, float x, float y ) : void
m_picReport_MouseUp ( object sender, System e ) : void
m_picReport_Paint ( ) : void
m_picReport_Paint ( object sender, PaintEventArgs e ) : void
m_picRule_Paint ( ) : void
m_picRule_Paint ( object sender, PaintEventArgs e ) : void
m_report_Done ( ) : void
moveControl ( String sKeyPaintObj ) : void
moveSection ( CSReportPaint paintObj, float x, float y, float minBottom, float maxBottom, cReportSection secToMove, bool isNew ) : void
moveSection ( cReportPaintObject paintObj, float x, float y, float minBottom, float maxBottom, cReportSection secToMove, bool isNew ) : void
pAddConnectAuxToListView ( cReportConnect connect ) : void
pAddControlEndAux ( float left, float top, cReportControl baseControl ) : void
pAddPaintSetcionForSecLn ( cReportSection sec, csRptSectionType typeSecLn ) : void
pAddPaintSetcionForSecLn ( cReportSection sec, csRptTypeSection typeSecLn ) : void
pAddSectionLinesAux ( cReportSection sec ) : void
pAddSectionLinesAux ( cReportSection sec, CSReportPaint paintObj ) : void
pAddToSelected ( String sKey, bool ctrlKey, bool &bWasRemoved ) : void
pAllreadySelected ( String sKey ) : bool
pCanDeleteSection ( cReportSections &secs, cReportSection sec, String tag ) : bool
pChangeBottomSections ( cReportSection secToMove, float offsetTop ) : void
pChangeHeightSection ( cReportSection sec, float oldSecHeight ) : void
pChangeSecLnHeight ( CSReportPaint paintObj, float y, float minBottom, float maxBottom, cReportSectionLine secLn ) : void
pChangeSecLnHeight ( cReportPaintObject paintObj, float y, float minBottom, float maxBottom, cReportSectionLine secLn ) : void
pChangeTopSection ( cReportSection rptSec, float offSetTopSection, bool bChangeTop, bool bZeroOffset ) : void
pChangeTopSections ( cReportSection secToMove, float offsetTop ) : void
pClearSelected ( MouseButtons button, bool ctrlKey, float x, float y ) : bool
pCopyAspect ( cReportAspect fromAspect, cReportAspect toAspect ) : void
pCopyAspectToPaint ( cReportAspect fromAspect, cReportAspect toAspect ) : void
pCopyChart ( cReportChart fromChart, cReportChart toChart ) : void
pCopyControl ( cReportControl fromCtrl, cReportControl toCtrl ) : void
pCopyFont ( cReportFont fromFont, cReportFont toFont ) : void
pCopyFontPaint ( cReportFont fromFont, cReportFont toFont ) : void
pGetGroup ( String key ) : cReportGroup
pGetLeftBody ( ) : int
pGetMinBottomForSecLn ( cReportSection sec, String secLnKey, float minBottom ) : float
pGetMinBottomWithSecLn ( cReportSectionLines secLns, float minBottom ) : float
pGetOffSet ( float realPageHeight ) : void
pGetOffSet ( float realPageHeight, float rtnPageHeight ) : void
pGetOffsetLeftFromControls ( float leftCtrl1, float leftCtrl2 ) : float
pGetOffsetTopFromControls ( float topCtrl1, float topCtrl2 ) : float
pGetSecHeigthFromSecLines ( cReportSection sec ) : float
pGetSecLnFromKey ( String secKey, cIReportGroupSections sections, cReportSection &rtnSec ) : cReportSectionLine
pGetSection ( bool &isGroup ) : cReportSection
pGetSection ( bool &isGroup, bool &isSecLn ) : cReportSection
pGetSection ( bool &isGroup, bool &isSecLn, cReportSectionLine &secLn, bool returnSecLn, bool &isGroupHeader, bool &isGroupFooter ) : cReportSection
pGetSection ( bool &isSecLn, cReportSectionLine &secLn, bool returnSecLn ) : cReportSection
pGetSection ( bool &isSecLn, cReportSectionLine &secLn, bool returnSecLn, bool &isGroupHeader, bool &isGroupFooter ) : cReportSection
pMoveAll ( float x, float y ) : void
pMoveControl ( cReportAspect aspect, bool bSizing ) : void
pMoveControlAfterResize ( cReportAspect aspect, bool bSizing ) : void
pMoveDetails ( String sKeySection, float &minBottom, float &maxBottom ) : cReportSection
pMoveDetails ( String sKeySection, float minBottom, float maxBottom, bool isForSectionLine ) : cReportSection
pMoveDetails ( String sKeySection, float &minBottom, float &maxBottom, bool isForSectionLine, string secLnKey, float &maxBottomSectionLine ) : cReportSection
pMoveFooter ( String sKeySection, float &minBottom, float &maxBottom ) : cReportSection
pMoveFooter ( String sKeySection, float minBottom, float maxBottom, bool isForSectionLine ) : cReportSection
pMoveFooter ( String sKeySection, float &minBottom, float &maxBottom, bool isForSectionLine, string secLnKey, float &maxBottomSectionLine ) : cReportSection
pMoveGroupFooter ( String sKeySection, float &minBottom, float &maxBottom ) : cReportSection
pMoveGroupFooter ( String sKeySection, float minBottom, float maxBottom, bool isForSectionLine ) : cReportSection
pMoveGroupFooter ( String sKeySection, float &minBottom, float &maxBottom, bool isForSectionLine, string secLnKey, float &maxBottomSectionLine ) : cReportSection
pMoveGroupHeader ( String sKeySection, float &minBottom, float &maxBottom ) : cReportSection
pMoveGroupHeader ( String sKeySection, float minBottom, float maxBottom, bool isForSectionLine ) : cReportSection
pMoveGroupHeader ( String sKeySection, float &minBottom, float &maxBottom, bool isForSectionLine, string secLnKey, float &maxBottomSectionLine ) : cReportSection
pMoveHeader ( String sKeySection, float &minBottom, float &maxBottom ) : cReportSection
pMoveHeader ( String sKeySection, float minBottom, float maxBottom, bool isForSectionLine ) : cReportSection
pMoveHeader ( String sKeySection, float &minBottom, float &maxBottom, bool isForSectionLine, string secLnKey, float &maxBottomSectionLine ) : cReportSection
pMoveHorizontal ( float x ) : void
pMoveVertical ( float x, float y ) : void
pRefreshOffSetInPaintObjs ( ) : void
pRemoveFromSelected ( String sKey ) : void
pReplaceInFormula ( String formulaText, String currentName, String newName ) : String
pResetKeysFocus ( ) : void
pResizeControl ( float x, float y ) : void
pSelectCtrl ( String ctrlKey ) : void
pSelectSection ( String secKey ) : void
pSelectSection ( String secKey, bool &bIsSecLn ) : void
pSetEditAlignValue ( ) : void
pSetInitDir ( ) : void
pSetMovingFromKeyboard ( float x, float y ) : void
pSetNewControlPosition ( cReportControl ctrl, float left, float top ) : void
pSetNewControlProperties ( cReportControl ctrl ) : void
pSetSbPnlCtrl ( String ctrlName ) : void
pSetSbPnlCtrl ( String ctrlName, csRptControlType ctrlType, String formulaHide, String formulaValue, bool hasFormulaHide, bool hasFormulaValue, String fieldName ) : void
pSetSelectForRightBttn ( ) : bool
pSetSizePics ( float realPageHeight ) : float
pShowCtrlProperties ( ) : void
pShowEditFormula ( String formula, bool &cancel ) : void
pShowGroupProperties ( cReportGroup group ) : void
pShowHelpDbField ( cIDatabaseFieldSelector f ) : bool
pShowMoveAll ( float x, float y ) : void
pShowSecProperties ( cIReportSection sec ) : void
pShowSecProperties ( cIReportSection sec, String secLnName ) : void
pSizingControl ( float x, float y ) : void
pUpdateFormulas ( String currentName, String newName ) : void
pValidateSectionAspecAux ( float top, cReportSection sec ) : float
pValidateSectionAspect ( ) : void
paintSection ( cReportAspect aspect, String sKey, csRptSectionType rptType, String text, bool isSecLn ) : String
paintSection ( cReportAspect aspect, String sKey, csRptTypeSection rptType, String text, bool isSectionLine ) : String
paintStandarSections ( ) : void
reLoadReport ( ) : void
refreshBody ( ) : void
refreshNextNameCtrl ( String nameCtrl ) : void
refreshRule ( ) : void
reportDone ( object sender, EventArgs e ) : void
reportProgress ( object sender, ProgressEventArgs e ) : void
setZOrder ( ) : void
showCtrlProperties ( ) : void
showPopMenuControl ( bool clickInCtrl ) : void
showPopMenuControl ( bool clickInCtrl, int x, int y ) : void
showPopMenuSection ( bool noDelete, bool showGroups ) : void
showPopMenuSection ( bool noDelete, bool showGroups, int x, int y ) : void
showProgressDlg ( ) : void
updateSectionNameInPaintObjects ( ) : void
updateSectionNameInPaintObjects ( cIReportGroupSections sections ) : void

Method Details

addChart() public method

public addChart ( ) : void
return void

addDBField() public method

public addDBField ( ) : void
return void

addGroup() public method

public addGroup ( ) : void
return void

addImage() public method

public addImage ( ) : void
return void

addLabel() public method

public addLabel ( ) : void
return void

addLineLabel() public method

public addLineLabel ( ) : void
return void

addSection() public method

public addSection ( csRptSectionType typeSection ) : void
typeSection csRptSectionType
return void

addSection() public method

public addSection ( csRptTypeSection typeSection ) : void
typeSection csRptTypeSection
return void

addSectionLine() public method

public addSectionLine ( ) : void
return void

bringToFront() public method

public bringToFront ( ) : void
return void

cEditor() public method

public cEditor ( fMain fmain, Panel editor, PictureBox rule, PictureBox report, TabPage editorTab ) : System
fmain fMain
editor System.Windows.Forms.Panel
rule System.Windows.Forms.PictureBox
report System.Windows.Forms.PictureBox
editorTab System.Windows.Forms.TabPage
return System

checkSyntax() public method

public checkSyntax ( String code ) : bool
code String
return bool

close() public method

public close ( ) : bool
return bool

configConnection() public method

public configConnection ( cReportConnect rptConnect ) : bool
rptConnect CSReportDll.cReportConnect
return bool

controlsAlign() public method

public controlsAlign ( CSReportGlobals align ) : void
align CSReportGlobals
return void

copy() public method

public copy ( ) : void
return void

deleteObj() public method

public deleteObj ( bool bDelSectionLine ) : void
bDelSectionLine bool
return void

destroyPropertiesFormReference() public method

public destroyPropertiesFormReference ( ) : void
return void

editConnectionString() public method

public editConnectionString ( ) : void
return void

editDataSource() public method

public editDataSource ( ) : void
return void

editSection() public method

public editSection ( String secKey ) : void
secKey String
return void

editText() public method

public editText ( ) : void
return void

getBMoveHorizontal() public method

public getBMoveHorizontal ( ) : bool
return bool

getBMoveNoMove() public method

public getBMoveNoMove ( ) : bool
return bool

getBMoveVertical() public method

public getBMoveVertical ( ) : bool
return bool

getCopies() public method

public getCopies ( ) : int
return int

getCustomHeight() public method

public getCustomHeight ( ) : int
return int

getCustomWidth() public method

public getCustomWidth ( ) : int
return int

getDataHasChanged() public method

public getDataHasChanged ( ) : bool
return bool

getEditorTab() public method

public getEditorTab ( ) : TabPage
return System.Windows.Forms.TabPage

getFGroup() public method

public getFGroup ( ) : fGroup
return fGroup

getFileName() public method

public getFileName ( ) : String
return String

getOrientation() public method

public getOrientation ( ) : int
return int

getPaint() public method

public getPaint ( ) : cReportPaint
return CSReportPaint.cReportPaint

getPaint() public method

public getPaint ( ) : cReportPaint
return CSReportPaint.cReportPaint

getPaperSize() public method

public getPaperSize ( ) : csReportPaperType
return csReportPaperType

getReport() public method

public getReport ( ) : cReport
return CSReportDll.cReport

getSectionOrSectionLineFromKey() public method

public getSectionOrSectionLineFromKey ( string key ) : object
key string
return object

getShowingProperties() public method

public getShowingProperties ( ) : bool
return bool

getVCopyKeys() public method

public getVCopyKeys ( int idx ) : String
idx int
return String

getVCopyKeysCount() public method

public getVCopyKeysCount ( ) : int
return int

init() public method

public init ( ) : void
return void

moveAll() public method

public moveAll ( ) : void
return void

moveGroup() public method

public moveGroup ( ) : void
return void

moveHorizontal() public method

public moveHorizontal ( ) : void
return void

moveNoMove() public method

public moveNoMove ( ) : void
return void

moveVertical() public method

public moveVertical ( ) : void
return void

newReport() public method

public newReport ( cReport report ) : void
report CSReportDll.cReport
return void

openDocument() public method

public openDocument ( ) : bool
return bool

openDocument() public method

public openDocument ( String fileName ) : bool
fileName String
return bool

pAddColumnsToToolbox() public method

public pAddColumnsToToolbox ( String dataSource, cColumnsInfo columns ) : void
dataSource String
columns CSReportDll.cColumnsInfo
return void

pAddColumnsToToolbox() public method

public pAddColumnsToToolbox ( String dataSource, cColumnsInfo columns, fToolbox f ) : void
dataSource String
columns CSReportDll.cColumnsInfo
f fToolbox
return void

pAddLabelAux() public method

public pAddLabelAux ( csRptEditCtrlType ctlType ) : void
ctlType csRptEditCtrlType
return void

pSetFontBoldValue() public method

public pSetFontBoldValue ( ) : void
return void

paste() public method

public paste ( bool bDontMove ) : void
bDontMove bool
return void

preview() public method

public preview ( ) : void
return void

printReport() public method

public printReport ( ) : void
return void

refreshAll() public method

public refreshAll ( ) : void
return void

refreshPostion() public method

public refreshPostion ( ) : void
return void

refreshReport() public method

public refreshReport ( ) : void
return void

saveChanges() public method

public saveChanges ( ) : bool
return bool

saveDocument() public method

public saveDocument ( bool saveAs ) : bool
saveAs bool
return bool

search() public method

public search ( ) : void
return void

selectCtrl() public method

public selectCtrl ( String ctrlKey ) : void
ctrlKey String
return void

selectSection() public method

public selectSection ( String secKey ) : void
secKey String
return void

sendToBack() public method

public sendToBack ( ) : void
return void

setAllConnectToMainConnect() public method

public setAllConnectToMainConnect ( ) : void
return void

setCopies() public method

public setCopies ( int rhs ) : void
rhs int
return void

setCustomHeight() public method

public setCustomHeight ( int rhs ) : void
rhs int
return void

setCustomWidth() public method

public setCustomWidth ( int rhs ) : void
rhs int
return void

setDataHasChanged() public method

public setDataHasChanged ( bool rhs ) : void
rhs bool
return void

setFGroup() public method

public setFGroup ( fGroup rhs ) : void
rhs fGroup
return void

setFocusCtrl() public method

public setFocusCtrl ( String ctrlKey ) : void
ctrlKey String
return void

setFontBold() public method

public setFontBold ( ) : void
return void

setKeyboardMoveStep() public method

public setKeyboardMoveStep ( int rhs ) : void
rhs int
return void

setOrientation() public method

public setOrientation ( int rhs ) : void
rhs int
return void

setPaperSize() public method

public setPaperSize ( csReportPaperType rhs ) : void
rhs csReportPaperType
return void

setParameters() public method

public setParameters ( ) : void
return void

setShowingProperties() public method

public setShowingProperties ( bool rhs ) : void
rhs bool
return void

setSimpleConnection() public method

public setSimpleConnection ( ) : void
return void

showConnectsAux() public method

public showConnectsAux ( ) : void
return void

showControls() public method

public showControls ( ) : void
return void

showControlsTree() public method

public showControlsTree ( ) : void
return void

showEditFormula() public method

public showEditFormula ( String &formula ) : bool
formula String
return bool

showGrid() public method

public showGrid ( CSReportPaint typeGrid ) : void
typeGrid CSReportPaint
return void

showGrid() public method

public showGrid ( csETypeGrid typeGrid ) : void
typeGrid csETypeGrid
return void

showGroupProperties() public method

public showGroupProperties ( ) : void
return void

showHelpChartField() public method

public showHelpChartField ( TextBox ctrl, int idx ) : bool
ctrl System.Windows.Forms.TextBox
idx int
return bool

showHelpChartGroupField() public method

public showHelpChartGroupField ( ) : bool
return bool

showHelpDbField() public method

public showHelpDbField ( ) : bool
return bool

showHelpDbFieldForGroup() public method

public showHelpDbFieldForGroup ( ) : bool
return bool

showProperties() public method

public showProperties ( ) : void
return void

showProperties() public method

public showProperties ( string key ) : void
key string
return void

showSecLnProperties() public method

public showSecLnProperties ( ) : void
return void

showSectionProperties() public method

public showSectionProperties ( ) : void
return void

showToolBox() public method

public showToolBox ( ) : void
return void

showToolbox() public method

public showToolbox ( ) : void
return void

textAlign() public method

public textAlign ( CSReportGlobals align ) : void
align CSReportGlobals
return void