-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBaseNodeObject.puml
More file actions
52 lines (45 loc) · 1.05 KB
/
Copy pathBaseNodeObject.puml
File metadata and controls
52 lines (45 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
@startuml
skinparam @startuml
skinparam classAttributeIconSize 0
'' 外部ライブラリ(PySide6)のクラス
class QObject {
}
'' ベースクラス
class BaseNodeObject {
+ updated : Signal
+ path : str
+ name : str
- _is_selected : bool
+ size : int
--
+ is_selected() : bool
+ is_selected(value: bool)
+ exists() : bool
+ modified_time() : float
+ created_time() : float
+ icon() : str
+ type_name() : str
+ size_str() : str
}
'' ファイルを表す子クラス
class FileNodeObject {
+ extension : str
--
+ size_str() : str
+ icon() : str
+ type_name() : str
}
'' ディレクトリを表す子クラス
class DirectoryNodeObject {
+ children : list<BaseNodeObject>
--
+ icon() : str
+ type_name() : str
}
'' 継承関係の定義
QObject <|-- BaseNodeObject
BaseNodeObject <|-- FileNodeObject
BaseNodeObject <|-- DirectoryNodeObject
'' コンポジション(フォルダが複数のノードを持つ関係)
DirectoryNodeObject "1" *-- "0..*" BaseNodeObject
@endum