Skip to content

Commit 249d5d9

Browse files
committed
column factory function
1 parent ecd25d7 commit 249d5d9

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

demos/treeview.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
use Tkui\Widgets\Container;
44
use Tkui\Widgets\Scrollbar;
55
use Tkui\Widgets\TreeView\Column;
6-
use Tkui\Widgets\TreeView\Header;
76
use Tkui\Widgets\TreeView\Item;
87
use Tkui\Widgets\TreeView\TreeView;
98

@@ -67,9 +66,9 @@ private function buildTreeView(Container $parent, array $options = []): TreeView
6766
private function createColumns(): array
6867
{
6968
return [
70-
new Column('country', new Header('Country')),
71-
new Column('capital', new Header('Capital')),
72-
new Column('id', new Header('Currency')),
69+
Column::create('country', 'Country'),
70+
Column::create('capital', 'Capital'),
71+
Column::create('currency', 'Currency'),
7372
];
7473
}
7574

src/Widgets/TreeView/Column.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Column
1818
private Options $options;
1919
private Header $header;
2020

21-
public function __construct(string $id, Header $header, array $options = [])
21+
final public function __construct(string $id, Header $header, array $options = [])
2222
{
2323
$options['id'] = $id;
2424
$this->header = $header;
@@ -63,4 +63,9 @@ public function header(): Header
6363
{
6464
return $this->header;
6565
}
66+
67+
public static function create(string $id, string $header): static
68+
{
69+
return new static($id, new Header($header));
70+
}
6671
}

tests/Widgets/TreeViewTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public function treeview_created(): void
2222
]);
2323

2424
new TreeView($this->createWindowStub(), [
25-
new Column('c1', new Header('column1')),
26-
new Column('c2', new Header('column2')),
25+
Column::create('c1', 'column1'),
26+
Column::create('c2', 'column2'),
2727
]);
2828
}
2929

@@ -39,7 +39,7 @@ public function treeview_can_add_item(): void
3939
]);
4040

4141
$tv = new TreeView($this->createWindowStub(), [
42-
new Column('c1', new Header('h1')),
42+
Column::create('c1', 'h1'),
4343
]);
4444
$tv->add($item);
4545
}
@@ -57,7 +57,7 @@ public function treeview_item_can_be_deleted(): void
5757
]);
5858

5959
$tv = new TreeView($this->createWindowStub(), [
60-
new Column('c1', new Header('h1')),
60+
Column::create('c1', 'h1'),
6161
]);
6262
$tv->add($item);
6363
$tv->delete($item);

0 commit comments

Comments
 (0)