8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtGui import QFont, QGraphicsSimpleTextItem, QStyle |
10 from PyQt4.QtGui import QFont, QGraphicsSimpleTextItem, QStyle |
11 |
11 |
12 from .UMLItem import UMLItem |
12 from .UMLItem import UMLItem |
|
13 |
|
14 import Utilities |
13 |
15 |
14 |
16 |
15 class PackageModel(object): |
17 class PackageModel(object): |
16 """ |
18 """ |
17 Class implementing the package model. |
19 Class implementing the package model. |
201 if modules: |
203 if modules: |
202 entries.append("modules={0}".format("||".join(modules))) |
204 entries.append("modules={0}".format("||".join(modules))) |
203 |
205 |
204 return ", " + ", ".join(entries) |
206 return ", " + ", ".join(entries) |
205 |
207 |
206 def parseItemDataString(self, data): |
208 def parseItemDataString(self, version, data): |
207 """ |
209 """ |
208 Public method to parse the given persistence data. |
210 Public method to parse the given persistence data. |
209 |
211 |
|
212 @param version version of the data (string) |
210 @param data persisted data to be parsed (string) |
213 @param data persisted data to be parsed (string) |
211 """ |
214 @return flag indicating success (boolean) |
212 # TODO: implement this |
215 """ |
|
216 parts = data.split(", ") |
|
217 if len(parts) < 2: |
|
218 return False |
|
219 |
|
220 name = "" |
|
221 modules = [] |
|
222 |
|
223 for part in parts: |
|
224 key, value = part.split("=", 1) |
|
225 if key == "no_modules": |
|
226 self.external = Utilities.toBool(value.strip()) |
|
227 elif key == "name": |
|
228 name = value.strip() |
|
229 elif key == "modules": |
|
230 modules = value.strip().split("||") |
|
231 else: |
|
232 return False |
|
233 |
|
234 self.model = PackageModel(name, modules) |
|
235 self.__createTexts() |
|
236 self.__calculateSize() |
|
237 |
|
238 return True |