Home » Eclipse Projects » Standard Widget Toolkit (SWT) » Labels disappearing in Gtk using gridLayout
Labels disappearing in Gtk using gridLayout [message #441431] |
Mon, 16 August 2004 02:59 |
Eclipse User |
|
|
|
Originally posted by: Marty.Zeigler.insightbb.com
I am trying to create a dialog containing 4 labels and 4 text fields. I am
using GridLayout on the dialog. I would like the labels each to fill their
entire cell. The textfields should fill also, but also grab extra
horizontal space. So when the window width grows, I want the text fields
to grow, but the label width to remain the same. The dialog has 4 columns,
and 2 rows. Each row has a label, textfield, label, and then a textfield.
When the page width is expanded, the labels seem to move right, being
hidden behind the text fields. In some configurations, if I resize the
dialog vertically, they reappear. In other dialogs with a different
configuration (i.e. being nested within another canvas), they never
reappear. Below is the GridData I am using for each label and Textfield
component for each row.
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = false;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
gridData.horizontalIndent = 10;
label1.setLayoutData(gridData);
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
textField1.setlayoutData(gridData);
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = false;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
gridData.horizontalIndent = 30;
label2.setLayoutData(gridData);
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
textField2.setlayoutData(gridData);
This problem occurrs using both jdk1.4-05 and jdk1.5-beta2. I am running
this on Mandrake Linux 10.0 Official. I compiled and ran the same code on
windows XP and 2000 and it worked perfectly. Is this a bug in the Linux
Gtk port? Or am I making a mistake?
|
|
|
Re: Labels disappearing in Gtk using gridLayout [message #441520 is a reply to message #441431] |
Mon, 16 August 2004 19:41 |
Veronika Irvine Messages: 1272 Registered: July 2009 |
Senior Member |
|
|
I am not seeing what you are describing.
The following works for me. Please modify to show your problem.
public static void main (String [] args) {
Display display = new Display ();
Shell shell = new Shell (display);
shell.setLayout(new GridLayout(2, false));
Label label1 = new Label(shell, SWT.NONE);
label1.setText("Name:");
label1.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
1));
Text textField1 = new Text(shell, SWT.BORDER);
textField1.setText("John Smith");
textField1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
1));
Label label2 = new Label(shell, SWT.NONE);
label2.setText("Address:");
label2.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
1));
Text textField2 = new Text(shell, SWT.BORDER);
textField2.setText("123 Main St.");
textField2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
1));
Label label3 = new Label(shell, SWT.NONE);
label3.setText("Phone:");
label3.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
1));
Text textField3 = new Text(shell, SWT.BORDER);
textField3.setText("(716)234-5555");
textField3.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
1));
Label label4 = new Label(shell, SWT.NONE);
label4.setText("Email:");
label4.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
1));
Text textField4 = new Text(shell, SWT.BORDER);
textField4.setText("jsmith@bigbucks.com");
textField4.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
1));
shell.pack();
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
"Marty Zeigler" <Marty.Zeigler@insightbb.com> wrote in message
news:cfp7un$4on$1@eclipse.org...
> I am trying to create a dialog containing 4 labels and 4 text fields. I am
> using GridLayout on the dialog. I would like the labels each to fill their
> entire cell. The textfields should fill also, but also grab extra
> horizontal space. So when the window width grows, I want the text fields
> to grow, but the label width to remain the same. The dialog has 4 columns,
> and 2 rows. Each row has a label, textfield, label, and then a textfield.
>
> When the page width is expanded, the labels seem to move right, being
> hidden behind the text fields. In some configurations, if I resize the
> dialog vertically, they reappear. In other dialogs with a different
> configuration (i.e. being nested within another canvas), they never
> reappear. Below is the GridData I am using for each label and Textfield
> component for each row.
>
> GridData gridData = new GridData();
> gridData.grabExcessHorizontalSpace = false;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> gridData.horizontalIndent = 10;
> label1.setLayoutData(gridData);
>
> GridData gridData = new GridData();
> gridData.grabExcessHorizontalSpace = true;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> textField1.setlayoutData(gridData);
>
> GridData gridData = new GridData();
> gridData.grabExcessHorizontalSpace = false;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> gridData.horizontalIndent = 30;
> label2.setLayoutData(gridData);
>
> GridData gridData = new GridData();
> gridData.grabExcessHorizontalSpace = true;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> textField2.setlayoutData(gridData);
>
> This problem occurrs using both jdk1.4-05 and jdk1.5-beta2. I am running
> this on Mandrake Linux 10.0 Official. I compiled and ran the same code on
> windows XP and 2000 and it worked perfectly. Is this a bug in the Linux
> Gtk port? Or am I making a mistake?
>
>
|
|
|
Re: Labels disappearing in Gtk using gridLayout [message #441564 is a reply to message #441520] |
Tue, 17 August 2004 02:03 |
Eclipse User |
|
|
|
Originally posted by: Marty.Zeigler.insightbb.com
I ran your code and didn't have any problem either. So I modified it to
look like my code. It wasn't until I entered the parameter "SWT.RIGHT" in
the style parameter to the Label constructor that I saw the problem.
The code below will show the problem if you stretch the width of the
window. It will correct itself if you then stretch the height. It seems
this is a pretty small problem. Removing this parameter fixes the
problem, its just that the labels are now left justified is all.
Thanks for the help,
Marty
public static void main (String [] args) {
Display display = new Display ();
Shell shell = new Shell (display);
GridLayout gridLayout = new GridLayout(4, false);
gridLayout.marginWidth = 20;
gridLayout.marginHeight = 40;
gridLayout.horizontalSpacing = 10;
gridLayout.verticalSpacing = 20;
shell.setLayout(gridLayout);
Label label1 = new Label(shell, SWT.RIGHT);
label1.setText("Name:");
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = false;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
gridData.horizontalIndent = 0;
label1.setLayoutData(gridData);
Text textField1 = new Text(shell, SWT.BORDER);
textField1.setText("John Smith");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
textField1.setLayoutData(gridData);
Label label2 = new Label(shell, SWT.RIGHT);
label2.setText("Address:");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = false;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
gridData.horizontalIndent = 30;
label2.setLayoutData(gridData);
Text textField2 = new Text(shell, SWT.BORDER);
textField2.setText("123 Main St.");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
textField2.setLayoutData(gridData);
Label label3 = new Label(shell, SWT.RIGHT);
label3.setText("Phone:");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = false;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
gridData.horizontalIndent = 0;
label3.setLayoutData(gridData);
Text textField3 = new Text(shell, SWT.BORDER);
textField3.setText("(716)234-5555");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
textField3.setLayoutData(gridData);
Label label4 = new Label(shell, SWT.RIGHT);
label4.setText("Email:");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = false;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
gridData.horizontalIndent = 30;
label4.setLayoutData(gridData);
Text textField4 = new Text(shell, SWT.BORDER);
textField4.setText("jsmith@bigbucks.com");
gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = false;
gridData.horizontalAlignment = GridData.FILL;
gridData.horizontalSpan = 1;
textField4.setLayoutData(gridData);
shell.pack();
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
Veronika Irvine wrote:
> I am not seeing what you are describing.
> The following works for me. Please modify to show your problem.
> public static void main (String [] args) {
> Display display = new Display ();
> Shell shell = new Shell (display);
> shell.setLayout(new GridLayout(2, false));
> Label label1 = new Label(shell, SWT.NONE);
> label1.setText("Name:");
> label1.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> 1));
> Text textField1 = new Text(shell, SWT.BORDER);
> textField1.setText("John Smith");
> textField1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
> 1));
> Label label2 = new Label(shell, SWT.NONE);
> label2.setText("Address:");
> label2.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> 1));
> Text textField2 = new Text(shell, SWT.BORDER);
> textField2.setText("123 Main St.");
> textField2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
> 1));
> Label label3 = new Label(shell, SWT.NONE);
> label3.setText("Phone:");
> label3.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> 1));
> Text textField3 = new Text(shell, SWT.BORDER);
> textField3.setText("(716)234-5555");
> textField3.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
> 1));
> Label label4 = new Label(shell, SWT.NONE);
> label4.setText("Email:");
> label4.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> 1));
> Text textField4 = new Text(shell, SWT.BORDER);
> textField4.setText("jsmith@bigbucks.com");
> textField4.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1,
> 1));
> shell.pack();
> shell.open ();
> while (!shell.isDisposed ()) {
> if (!display.readAndDispatch ()) display.sleep ();
> }
> display.dispose ();
> }
> "Marty Zeigler" <Marty.Zeigler@insightbb.com> wrote in message
> news:cfp7un$4on$1@eclipse.org...
> > I am trying to create a dialog containing 4 labels and 4 text fields. I am
> > using GridLayout on the dialog. I would like the labels each to fill their
> > entire cell. The textfields should fill also, but also grab extra
> > horizontal space. So when the window width grows, I want the text fields
> > to grow, but the label width to remain the same. The dialog has 4 columns,
> > and 2 rows. Each row has a label, textfield, label, and then a textfield.
> >
> > When the page width is expanded, the labels seem to move right, being
> > hidden behind the text fields. In some configurations, if I resize the
> > dialog vertically, they reappear. In other dialogs with a different
> > configuration (i.e. being nested within another canvas), they never
> > reappear. Below is the GridData I am using for each label and Textfield
> > component for each row.
> >
> > GridData gridData = new GridData();
> > gridData.grabExcessHorizontalSpace = false;
> > gridData.grabExcessVerticalSpace = false;
> > gridData.horizontalAlignment = GridData.FILL;
> > gridData.horizontalSpan = 1;
> > gridData.horizontalIndent = 10;
> > label1.setLayoutData(gridData);
> >
> > GridData gridData = new GridData();
> > gridData.grabExcessHorizontalSpace = true;
> > gridData.grabExcessVerticalSpace = false;
> > gridData.horizontalAlignment = GridData.FILL;
> > gridData.horizontalSpan = 1;
> > textField1.setlayoutData(gridData);
> >
> > GridData gridData = new GridData();
> > gridData.grabExcessHorizontalSpace = false;
> > gridData.grabExcessVerticalSpace = false;
> > gridData.horizontalAlignment = GridData.FILL;
> > gridData.horizontalSpan = 1;
> > gridData.horizontalIndent = 30;
> > label2.setLayoutData(gridData);
> >
> > GridData gridData = new GridData();
> > gridData.grabExcessHorizontalSpace = true;
> > gridData.grabExcessVerticalSpace = false;
> > gridData.horizontalAlignment = GridData.FILL;
> > gridData.horizontalSpan = 1;
> > textField2.setlayoutData(gridData);
> >
> > This problem occurrs using both jdk1.4-05 and jdk1.5-beta2. I am running
> > this on Mandrake Linux 10.0 Official. I compiled and ran the same code on
> > windows XP and 2000 and it worked perfectly. Is this a bug in the Linux
> > Gtk port? Or am I making a mistake?
> >
> >
|
|
|
Re: Labels disappearing in Gtk using gridLayout [message #441566 is a reply to message #441564] |
Tue, 17 August 2004 02:49 |
Eclipse User |
|
|
|
Originally posted by: Marty.Zeigler.insightbb.com
I just downloaded swt-N20040816 and it seemed to fix my problem. I was
testing with N2004809, so apparently the problem was recently fixed.
Thanks for the help.
Marty Zeigler wrote:
> I ran your code and didn't have any problem either. So I modified it to
> look like my code. It wasn't until I entered the parameter "SWT.RIGHT" in
> the style parameter to the Label constructor that I saw the problem.
> The code below will show the problem if you stretch the width of the
> window. It will correct itself if you then stretch the height. It seems
> this is a pretty small problem. Removing this parameter fixes the
> problem, its just that the labels are now left justified is all.
> Thanks for the help,
> Marty
> public static void main (String [] args) {
> Display display = new Display ();
> Shell shell = new Shell (display);
> GridLayout gridLayout = new GridLayout(4, false);
> gridLayout.marginWidth = 20;
> gridLayout.marginHeight = 40;
> gridLayout.horizontalSpacing = 10;
> gridLayout.verticalSpacing = 20;
> shell.setLayout(gridLayout);
> Label label1 = new Label(shell, SWT.RIGHT);
> label1.setText("Name:");
> GridData gridData = new GridData();
> gridData.grabExcessHorizontalSpace = false;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> gridData.horizontalIndent = 0;
> label1.setLayoutData(gridData);
> Text textField1 = new Text(shell, SWT.BORDER);
> textField1.setText("John Smith");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = true;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> textField1.setLayoutData(gridData);
> Label label2 = new Label(shell, SWT.RIGHT);
> label2.setText("Address:");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = false;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> gridData.horizontalIndent = 30;
> label2.setLayoutData(gridData);
> Text textField2 = new Text(shell, SWT.BORDER);
> textField2.setText("123 Main St.");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = true;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> textField2.setLayoutData(gridData);
> Label label3 = new Label(shell, SWT.RIGHT);
> label3.setText("Phone:");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = false;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> gridData.horizontalIndent = 0;
> label3.setLayoutData(gridData);
> Text textField3 = new Text(shell, SWT.BORDER);
> textField3.setText("(716)234-5555");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = true;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> textField3.setLayoutData(gridData);
> Label label4 = new Label(shell, SWT.RIGHT);
> label4.setText("Email:");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = false;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> gridData.horizontalIndent = 30;
> label4.setLayoutData(gridData);
> Text textField4 = new Text(shell, SWT.BORDER);
> textField4.setText("jsmith@bigbucks.com");
> gridData = new GridData();
> gridData.grabExcessHorizontalSpace = true;
> gridData.grabExcessVerticalSpace = false;
> gridData.horizontalAlignment = GridData.FILL;
> gridData.horizontalSpan = 1;
> textField4.setLayoutData(gridData);
> shell.pack();
> shell.open ();
> while (!shell.isDisposed ()) {
> if (!display.readAndDispatch ()) display.sleep ();
> }
> display.dispose ();
> }
> Veronika Irvine wrote:
> > I am not seeing what you are describing.
> > The following works for me. Please modify to show your problem.
> > public static void main (String [] args) {
> > Display display = new Display ();
> > Shell shell = new Shell (display);
> > shell.setLayout(new GridLayout(2, false));
> > Label label1 = new Label(shell, SWT.NONE);
> > label1.setText("Name:");
> > label1.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> > 1));
> > Text textField1 = new Text(shell, SWT.BORDER);
> > textField1.setText("John Smith");
> > textField1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
1,
> > 1));
> > Label label2 = new Label(shell, SWT.NONE);
> > label2.setText("Address:");
> > label2.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> > 1));
> > Text textField2 = new Text(shell, SWT.BORDER);
> > textField2.setText("123 Main St.");
> > textField2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
1,
> > 1));
> > Label label3 = new Label(shell, SWT.NONE);
> > label3.setText("Phone:");
> > label3.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> > 1));
> > Text textField3 = new Text(shell, SWT.BORDER);
> > textField3.setText("(716)234-5555");
> > textField3.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
1,
> > 1));
> > Label label4 = new Label(shell, SWT.NONE);
> > label4.setText("Email:");
> > label4.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1,
> > 1));
> > Text textField4 = new Text(shell, SWT.BORDER);
> > textField4.setText("jsmith@bigbucks.com");
> > textField4.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
1,
> > 1));
> > shell.pack();
> > shell.open ();
> > while (!shell.isDisposed ()) {
> > if (!display.readAndDispatch ()) display.sleep ();
> > }
> > display.dispose ();
> > }
> > "Marty Zeigler" <Marty.Zeigler@insightbb.com> wrote in message
> > news:cfp7un$4on$1@eclipse.org...
> > > I am trying to create a dialog containing 4 labels and 4 text fields. I
am
> > > using GridLayout on the dialog. I would like the labels each to fill
their
> > > entire cell. The textfields should fill also, but also grab extra
> > > horizontal space. So when the window width grows, I want the text fields
> > > to grow, but the label width to remain the same. The dialog has 4
columns,
> > > and 2 rows. Each row has a label, textfield, label, and then a
textfield.
> > >
> > > When the page width is expanded, the labels seem to move right, being
> > > hidden behind the text fields. In some configurations, if I resize the
> > > dialog vertically, they reappear. In other dialogs with a different
> > > configuration (i.e. being nested within another canvas), they never
> > > reappear. Below is the GridData I am using for each label and Textfield
> > > component for each row.
> > >
> > > GridData gridData = new GridData();
> > > gridData.grabExcessHorizontalSpace = false;
> > > gridData.grabExcessVerticalSpace = false;
> > > gridData.horizontalAlignment = GridData.FILL;
> > > gridData.horizontalSpan = 1;
> > > gridData.horizontalIndent = 10;
> > > label1.setLayoutData(gridData);
> > >
> > > GridData gridData = new GridData();
> > > gridData.grabExcessHorizontalSpace = true;
> > > gridData.grabExcessVerticalSpace = false;
> > > gridData.horizontalAlignment = GridData.FILL;
> > > gridData.horizontalSpan = 1;
> > > textField1.setlayoutData(gridData);
> > >
> > > GridData gridData = new GridData();
> > > gridData.grabExcessHorizontalSpace = false;
> > > gridData.grabExcessVerticalSpace = false;
> > > gridData.horizontalAlignment = GridData.FILL;
> > > gridData.horizontalSpan = 1;
> > > gridData.horizontalIndent = 30;
> > > label2.setLayoutData(gridData);
> > >
> > > GridData gridData = new GridData();
> > > gridData.grabExcessHorizontalSpace = true;
> > > gridData.grabExcessVerticalSpace = false;
> > > gridData.horizontalAlignment = GridData.FILL;
> > > gridData.horizontalSpan = 1;
> > > textField2.setlayoutData(gridData);
> > >
> > > This problem occurrs using both jdk1.4-05 and jdk1.5-beta2. I am running
> > > this on Mandrake Linux 10.0 Official. I compiled and ran the same code
on
> > > windows XP and 2000 and it worked perfectly. Is this a bug in the Linux
> > > Gtk port? Or am I making a mistake?
> > >
> > >
|
|
|
Goto Forum:
Current Time: Tue Apr 23 17:25:44 GMT 2024
Powered by FUDForum. Page generated in 0.03045 seconds
|