source/text/sbasic/shared/03/sf_dialog.xhp | 135 +++++++++++++++++----- source/text/sbasic/shared/03/sf_dialogcontrol.xhp | 4 2 files changed, 110 insertions(+), 29 deletions(-)
New commits: commit cd0f9167653bee82301d8635ef5a6ea494739183 Author: Alain Romedenne <alain.romede...@libreoffice.org> AuthorDate: Wed Jul 5 11:11:41 2023 +0200 Commit: Alain Romedenne <alain.romede...@libreoffice.org> CommitDate: Wed Jul 5 12:23:10 2023 +0200 SFDialogs help pages (final) - new methods: cloneControl, createDialog, OrderTabs - dialog creation on-the-fly Change-Id: I672f6ae27f59efca6a7e4118ce4538cf011cd72d Reviewed-on: https://gerrit.libreoffice.org/c/help/+/154005 Tested-by: Jenkins Reviewed-by: Alain Romedenne <alain.romede...@libreoffice.org> diff --git a/source/text/sbasic/shared/03/sf_dialog.xhp b/source/text/sbasic/shared/03/sf_dialog.xhp index 96d1bd40dc..145a6fc6f0 100644 --- a/source/text/sbasic/shared/03/sf_dialog.xhp +++ b/source/text/sbasic/shared/03/sf_dialog.xhp @@ -34,7 +34,7 @@ <paragraph role="paragraph" id="par_id141609955500101">Before using the <literal>Dialog</literal> service the <literal>ScriptForge</literal> library needs to be loaded or imported:</paragraph> <embed href="text/sbasic/shared/03/lib_ScriptForge.xhp#importLibs"/> - <paragraph role="paragraph" id="par_id361598174756160" xml-lang="en-US">The <literal>Dialog</literal> service is invoked through the <literal>CreateScriptService</literal> method. It requires three positional arguments to specify the dialog box to activate:</paragraph> + <paragraph role="paragraph" id="par_id361598174756160" xml-lang="en-US">The <literal>Dialog</literal> service is invoked through the <literal>CreateScriptService</literal> method. It requires three supplemental positional arguments to specify the dialog box to activate:</paragraph> <paragraph role="paragraph" id="par_id31612271944733"><emph>Container</emph>: "<link href="text/sbasic/shared/03131900.xhp"><literal>GlobalScope</literal></link>" for preinstalled libraries or a window name as defined by <link href="text/sbasic/shared/03/sf_ui.xhp"><literal>ScriptForge.UI</literal></link> service. Empty string "" default value stands for the current document.</paragraph> <paragraph role="paragraph" id="par_id311612271947124"><emph>Library</emph>: The case-sensitive name of a library contained in the container. Default value is "Standard".</paragraph> <paragraph role="paragraph" id="par_id821612271946316"><emph>DialogName</emph>: A case-sensitive string designating the dialog.</paragraph> @@ -62,7 +62,26 @@ <paragraph role="pycode" localize="false" id="pyc_id821619619965373">dlg.Terminate()</paragraph> </pycode> <note id="par_id811670854106781">Use the string "GlobalScope" as the <emph>container</emph> argument when the dialog is stored either in <menuitem>My Macros & Dialogs</menuitem> or in <menuitem>Application Macros & Dialogs</menuitem>.</note> - <paragraph role="paragraph" id="par_id741688131419964">The dialog service offers methods that create new controls dynamically in an existing dialog predefined with the <link href="text/sbasic/guide/create_dialog.html">Dialog Editor</link>. A dialog is initialized with controls in the Dialog Editor and new controls can be added at run-time before or after the dialog <literal>Execute()</literal> statement.</paragraph> + <tip id="par_id461688463074274">The dialog service offers methods that create new controls dynamically in an existing dialog predefined with the <link href="text/sbasic/guide/create_dialog.html">Dialog Editor</link>. A dialog is initialized with controls in the Dialog Editor and new controls can be added at run-time before or after the dialog <literal>Execute()</literal> statement.</tip> + + <paragraph role="paragraph" id="par_id261688459210848">The <literal>Dialog</literal> service can equally be invoked - through the <literal>CreateScriptService</literal> method - when creating dialogs on-the-fly; It requires two supplemental positional arguments:</paragraph> + <paragraph role="paragraph" id="par_id751688460276630"><emph>DialogName</emph>: A case-sensitive string designating the dialog.</paragraph> + <paragraph role="paragraph" id="par_id291688460281953"><emph>Library</emph>: The case-sensitive name of the library where to store the dialog. Default value is "Standard".</paragraph> + <bascode> + <paragraph role="bascode" id="bas_id351688461519997" localize="false">Sub newDialog()</paragraph> + <paragraph role="bascode" id="bas_id41688461520253" localize="false"> Dim oDlg As Object</paragraph> + <paragraph role="bascode" id="bas_id351688461520480" localize="false"> oDlg = CreateScriptService("NewDialog", "myDialog1", "myLib")</paragraph> + <paragraph role="bascode" id="bas_id341688461520677" localize="false"> ' ...</paragraph> + <paragraph role="bascode" id="bas_id761688461521102" localize="false">End Sub</paragraph> + </bascode> + <paragraph role="paragraph" id="par_id601619633410089">Or using Python:</paragraph> + <pycode> + <paragraph role="pycode" id="pyc_id711688462077145" localize="false">def newDialog():</paragraph> + <paragraph role="pycode" id="pyc_id981688462077340" xml-lang="en-US"> dlg = CreateScriptService("NewDialog", "myDialog1") # "Standard" library is used</paragraph> + <paragraph role="pycode" xml-lang="en-US" id="pyc_id681619620065191"> # ... Process controls and do what is needed</paragraph> + </pycode> + <paragraph role="paragraph" id="par_id951688460698125">All properties and methods applicable to predefined dialogs are available for such new dialogs. In particular the series of <literal>CreateXXX()</literal> methods for the addition +of new dialog controls.</paragraph> <h2 id="hd_id141670854511382">Retrieving the Dialog instance that triggered a dialog event</h2> <paragraph role="paragraph" id="par_id951598174966322" xml-lang="en-US">An instance of the <literal>Dialog</literal> service can be retrieved via the <literal>SFDialogs.DialogEvent</literal> service, provided that the dialog was initiated with the <literal>Dialog</literal> service. In the example below, <literal>oDlg</literal> contains the <literal>Dialog</literal> instance that triggered the dialog event.</paragraph> @@ -80,7 +99,8 @@ <paragraph role="pycode" localize="false" id="pyc_id871670855024161"> # ...</paragraph> </pycode> <paragraph role="paragraph" id="par_id251598176312571" xml-lang="en-US">Note that in the previous examples, the prefix <literal>"SFDialogs."</literal> may be omitted when deemed appropriate.</paragraph> - <h2 id="hd_id681670854491710">Handling exceptions in event handlers</h2> + + <h3 id="hd_id681670854491710">Handling exceptions in event handlers</h3> <paragraph role="paragraph" id="par_id971670855125683">When creating an event handler for dialog events it is good practice to handle errors inside the subroutine itself. For instance, suppose the event handler below is called when the mouse button is pressed in the dialog window.</paragraph> <bascode> <paragraph role="bascode" localize="false" id="bas_id841670857159416">Sub OnMouseButtonPressed(ByRef oEvent As Object)</paragraph> @@ -428,6 +448,7 @@ <link href="text/sbasic/shared/03/sf_dialog.xhp#Activate">Activate</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#Center">Center</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#Controls">Controls</link><br/> + <link href="text/sbasic/shared/03/sf_dialog.xhp#CloneControl">CloneControl</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateButton">CreateButton</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateCheckBox">CreateCheckBox</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateComboBox">CreateComboBox</link><br/> @@ -442,6 +463,7 @@ <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateFixedText">CreateFixedText</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateFormattedField">CreateFormattedField</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateGroupBox">CreateGroupBox</link><br/> + <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateHyperlink">CreateHyperlink</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateImageControl">CreateImageControl</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateListBox">CreateListBox</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#CreateNumericField">CreateNumericField</link><br/> @@ -461,6 +483,7 @@ <link href="text/sbasic/shared/03/sf_dialog.xhp#Execute">Execute</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#GetTextsFromL10N">GetTextsFromL10N</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#Resize">Resize</link><br/> + <link href="text/sbasic/shared/03/sf_dialog.xhp#OrderTabs">OrderTabs</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#SetPageManager">SetPageManager</link><br/> <link href="text/sbasic/shared/03/sf_dialog.xhp#Terminate">Terminate</link><br/> </paragraph> @@ -545,6 +568,30 @@ </pycode> </section> +<section id="CloneControl"> + <comment> CloneControl -------------------------------------------------------------------------------------------------------------------------- </comment> + <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id42694541257826"> + <bookmark_value>Dialog service;CloneControl</bookmark_value> + </bookmark> + <h2 id="hd_id95169554125767" localize="false">CloneControl</h2> + <paragraph role="paragraph" id="par_id161584552357982">Duplicate an existing control of any type +in the actual dialog. The duplicated control is left unchanged and can be relocated.</paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> + <paragraph role="paragraph" localize="false" id="par_id61819625753609"><input>svc.CloneControl(SourceName: str, ControlName: str, Left: num, Top: num): svc</input></paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functparameters"/> + <paragraph role="paragraph" id="par_id1992584541368789"><emph>SourceName</emph>: The name of the control to duplicate.</paragraph> + <paragraph role="paragraph" id="par_id1001584541368789"><emph>ControlName</emph>: A valid control name as a case-sensitive string. It must not exist yet.</paragraph> + <paragraph role="paragraph" id="par_id31688475132631"><emph>Left</emph>, <emph>Top</emph>: The coordinates of the new control expressed in <link href="text/sbasic/shared/00000002.xhp#AppFontUnits">Map AppFont units</link>.</paragraph> + <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateReturn"/> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <bascode> + <paragraph role="bascode" localize="false" id="bas_id151509285478904">Set myButton2 = oDlg.CloneControl("Button1", "Button2", 30, 30)</paragraph> + </bascode> + <pycode> + <paragraph role="pycode" localize="false" id="pyc_id351619627686732">dlg = dlg.CloneControl('Button1', 'Button2', 30, 30)</paragraph> + </pycode> +</section> + <section id="Controls"> <comment> Controls -------------------------------------------------------------------------------------------------------------------------- </comment> <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id41584541257826"> @@ -604,7 +651,7 @@ <embed href="text/sbasic/shared/00000003.xhp#functvalue"/> <paragraph role="paragraph" id="par_id961688054748539">An instance of <link href="text/sbasic/shared/03/sf_dialogcontrol.xhp"><literal>SFDialogs</literal>.<literal>DialogControl</literal></link> service or <literal>Nothing</literal>.</paragraph> </section> - <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> <bascode> <paragraph role="bascode" id="bas_id241688389976612">Set myButton = oDlg.CreateButton("Button1", Array(20, 20, 60, 15))</paragraph> @@ -627,7 +674,7 @@ <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateSharedParms"/> <paragraph role="paragraph" id="par_id241688132171052"><emph>MultiLine</emph>: When True (default = False), the caption may be displayed on more than one line.</paragraph> <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateReturn"/> - <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> <bascode> <paragraph role="bascode" id="bas_id211688391124091">Set myCheckBox = oDlg.CreateCheckBox("CheckBox1", Array(20, 20, 60, 15), MultiLine := True)</paragraph> @@ -838,6 +885,32 @@ </pycode> </section> +<section id="CreateHyperlink"> + <comment> CreateHyperlink ------------------------------------------------------------------------------------------------------------------------- </comment> + <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id167708185776261"> + <bookmark_value>Dialog service;CreateHyperlink</bookmark_value> + </bookmark> + <h2 id="hd_id496608185886547" localize="false">CreateHyperlink</h2> + <paragraph role="paragraph" id="par_id101701885776500">Create a new control of type Hyperlink in the current dialog.</paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> + <paragraph role="paragraph" localize="false" id="par_CreateHyperlink"><input>svc.CreateHyperlink(opt ControlName: str, opt Place, Border = "NONE", MultiLine = False, Align = "LEFT", VerticalAlign = "TOP"): svc</input></paragraph> + <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateSharedParms"/> + <paragraph role="paragraph" id="par_id731688542076471"><emph>Border</emph>: "NONE" (default) or "FLAT" or "3D"</paragraph> + <paragraph role="paragraph" id="par_id241688542076988"><emph>MultiLine</emph>: When True (default = False), the caption may be displayed on more than one line</paragraph> + <paragraph role="paragraph" id="par_id831688542077407"><emph>Align</emph>: horizontal alignment, "LEFT" (default) or "CENTER" or "RIGHT"</paragraph> + <paragraph role="paragraph" id="par_id941688542077873"><emph>VerticalAlign</emph>: vertical alignment, "TOP" (default) or "MIDDLE" or "BOTTOM"</paragraph> + <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateReturn"/> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> + <bascode> + <paragraph role="bascode" id="bas_id1012788392702670">Set myHyperlink = oDlg.CreateHyperlink("Hyperlink1", Array(20, 20, 60, 15), MultiLine := True)</paragraph> + </bascode> + <embed href="text/sbasic/shared/00000003.xhp#In_Python"/> + <pycode> + <paragraph role="pycode" id="pyc_id941688470312142">myHyperlink = dlg.CreateHyperlink('Hyperlink1', (20, 20, 60, 15), MultiLine = True)</paragraph> + </pycode> +</section> + <section id="CreateImageControl"> <comment> CreateImageControl ------------------------------------------------------------------------------------------------------------------------- </comment> <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id155598185776261"> @@ -1004,7 +1077,7 @@ <paragraph role="paragraph" id="par_id621688136883363"><emph>MinValue</emph>: the smallest value that can be entered in the control. Default = 0</paragraph> <paragraph role="paragraph" id="par_id241688136883785"><emph>MaxValue</emph>: the largest value that can be entered in the control. Default = 100</paragraph> <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateReturn"/> - <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> <bascode> <paragraph role="bascode" id="bas_id881688393719078">Set myScrollBar = oDlg.CreateScrollBar("ScrollBar1", Array(20, 20, 60, 15), MaxValue := 1000)</paragraph> @@ -1115,25 +1188,6 @@ </pycode> </section> - -<section id="Create…"> - <comment> Create…------------------------------------------------------------------------------------------------------------------------- </comment> - <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id171598185776261"> - <bookmark_value>Dialog service;Create…</bookmark_value> - </bookmark> - <h2 id="hd_id491598185886436" localize="false">Create…</h2> - <paragraph role="paragraph" id="par_id200591885776500">… .</paragraph> - <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> - <paragraph role="paragraph" localize="false" id="par_Create00000"><input>svc.Create…(opt ControlName: str, opt Place, …, …, …): svc</input></paragraph> - <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateSharedParms"/> - <embed href="text/sbasic/shared/03/sf_dialog.xhp#CreateReturn"/> -</section> - - <embed href="text/sbasic/shared/00000003.xhp#functexample"/> - <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> - <embed href="text/sbasic/shared/00000003.xhp#In_Python"/> - - <section id="EndExecute"> <comment> EndExecute -------------------------------------------------------------------------------------------------------------------------- </comment> <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id171598185776261"> @@ -1241,6 +1295,33 @@ <tip id="par_id901637872163895">Read the <link href="text/sbasic/shared/03/sf_l10n.xhp">L10N service</link> help page to learn more about how PO and POT files are handled.</tip> </section> +<section id="OrderTabs"> + <comment> OrderTabs -------------------------------------------------------------------------------------------------------------------------- </comment> + <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id142608187953729"> + <bookmark_value>Dialog service;OrderTabs</bookmark_value> + </bookmark> + <h2 id="hd_id101598187953321" localize="false">OrderTabs</h2> + <paragraph role="paragraph" id="par_id21598298953697">Set the tabulation index of a series of controls. The sequence of controls are given as an array of control names from the first to the last.</paragraph> + <warning id="par_id921688543457317">Controls with an index >= 1 are not accessible with the TAB key if:<br/>- they are omitted from the given list<br/> - their type is FixedLine, GroupBox or ProgressBar<br/>- they are disabled</warning> + <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> + <paragraph role="paragraph" localize="false" id="par_id711610738389339"><input>svc.TabsList(TabsList: num, Start = 1, Increment = 1): bool</input></paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functparameters"/> + <paragraph role="paragraph" id="par_id111688543698861"><emph>TabsList</emph>: an array of valid control names in the order of tabulation</paragraph> + <paragraph role="paragraph" id="par_id381688543699284"><emph>Start</emph>: the tab index to be assigned to the 1st control in the list. Default = 1</paragraph> + <paragraph role="paragraph" id="par_id321688543699637"><emph>Increment</emph>: the difference between 2 successive tab indexes. Default = 1</paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functvalue"/> + <paragraph role="paragraph" id="par_id401688543845094"><literal>True</literal> when successful.</paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> + <bascode> + <paragraph role="bascode" xml-lang="en-US" id="bas_id791620301085031">oDlg.OrderTabs(Array("myListBox", "myTextField", "myNumericField"), Start := 10)</paragraph> + </bascode> + <embed href="text/sbasic/shared/00000003.xhp#In_Python"/> + <pycode> + <paragraph role="pycode" xml-lang="en-US" id="pyc_id941620303073866">dlg.OrderTabs(('myListBox', 'myTextField', 'myNumericField'), Start = 10)</paragraph> + </pycode> +</section> + <section id="Resize"> <comment> Resize -------------------------------------------------------------------------------------------------------------------------- </comment> <bookmark xml-lang="en-US" localize="false" branch="index" id="bm_id141598187953729"> @@ -1259,11 +1340,11 @@ <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> <bascode> - <paragraph role="bascode" xml-lang="en-US" id="bas_id791620301085031">oDlg.Resize(1000, 2000, Height := 6000) ' Width is not changed</paragraph> + <paragraph role="bascode" xml-lang="en-US" id="bas_id791621411085031">oDlg.Resize(1000, 2000, Height := 6000) ' Width is not changed</paragraph> </bascode> <embed href="text/sbasic/shared/00000003.xhp#In_Python"/> <pycode> - <paragraph role="pycode" xml-lang="en-US" id="pyc_id941620303073866">dlg.Resize(1000, 2000, Height = 6000) # Width is not changed</paragraph> + <paragraph role="pycode" xml-lang="en-US" id="pyc_id941620304183866">dlg.Resize(1000, 2000, Height = 6000) # Width is not changed</paragraph> </pycode> </section> diff --git a/source/text/sbasic/shared/03/sf_dialogcontrol.xhp b/source/text/sbasic/shared/03/sf_dialogcontrol.xhp index d2a3436180..6f4c8ca8b1 100644 --- a/source/text/sbasic/shared/03/sf_dialogcontrol.xhp +++ b/source/text/sbasic/shared/03/sf_dialogcontrol.xhp @@ -1198,7 +1198,7 @@ <input>svc.Resize(opt Left: int, opt Top: int, opt Width: int, opt Height: int): bool</input> </paragraph> <embed href="text/sbasic/shared/00000003.xhp#functparameters"/> - <paragraph role="paragraph" id="par_id351687783159237">All distances are expressed in AppFonts and are measured from the top-left corner of the parent dialog. Without arguments the method resizes the control to its "preferred size", a size adjusted depending on its actual content. Missing arguments are left unchanged.</paragraph> + <paragraph role="paragraph" id="par_id351687783159237">All distances are expressed in <link href="text/sbasic/shared/00000002.xhp#AppFontUnits">Map AppFont units</link> and are measured from the top-left corner of the parent dialog. Without arguments the method resizes the control to its "preferred size", a size adjusted depending on its actual content. Missing arguments are left unchanged.</paragraph> <paragraph role="paragraph" id="par_id911687783094143"><emph>Left</emph>: The horizontal distance from the top-left corner</paragraph> <paragraph role="paragraph" id="par_id251687783287236"><emph>Top</emph>: The vertical distance from the top-left corner</paragraph> <paragraph role="paragraph" id="par_id291687783328508"><emph>Width</emph>: the horizontal width of the rectangle containing the control</paragraph> @@ -1264,7 +1264,7 @@ <paragraph role="paragraph" id="par_id1001584541257133"><emph>dataarray</emph>: Data to be entered into the table represented as an Array of Arrays in Basic or a tuple of tuples in Python. The data must include column and row headers if they are to be displayed by the <literal>TableControl</literal>.</paragraph> <paragraph role="paragraph" id="par_id1001584541257025"><emph>widths</emph>: Array containing the relative widths of each column. In other words, <literal>widths = (1, 2)</literal> means that the second column is twice as wide as the first one. If the number of values in the array is smaller than the number of columns in the table, then the last value in the array is used to define the width of the remaining columns.</paragraph> <paragraph role="paragraph" id="par_id1001584541257007"><emph>alignments</emph>: Defines the alignment in each column as a string in which each character can be "L" (Left), "C" (Center), "R" (Right) or " " (whitespace, default, meaning left for strings and right for numeric values). If the length of the string is shorter than the number of columns in the table, then the last character in the string is used to define the alignment of the remaining columns.</paragraph> - <paragraph role="paragraph" id="par_id551688397846388"><emph>RowHeaderWidth</emph>: width of the row header column expressed in AppFont units. Default = 10. The argument is ignored when the <literal>TableControl</literal> has no row header.</paragraph> + <paragraph role="paragraph" id="par_id551688397846388"><emph>RowHeaderWidth</emph>: width of the row header column expressed in <link href="text/sbasic/shared/00000002.xhp#AppFontUnits">Map AppFont units</link>. Default = 10. The argument is ignored when the <literal>TableControl</literal> has no row header.</paragraph> <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/> <paragraph role="paragraph" id="par_id381638569172413">The following example assumes that the dialog <literal>myDialog</literal> has a <literal>TableControl</literal> named <literal>Grid1</literal> with "Show row header" and "Show column header" properties set to "Yes".</paragraph>