update info structure
This commit is contained in:
parent
c455a1e66b
commit
fe11151e7c
@ -44,7 +44,7 @@ def run():
|
||||
def initDecorateDb(db):
|
||||
cur = db.cursor()
|
||||
cur.execute("CREATE TABLE graph([graph] INTEGER, [graph_name] TEXT, [width] INTEGER, [height] INTEGER, [index] INTEGER, [belong_to] TEXT);")
|
||||
cur.execute("CREATE TABLE info([target] INTEGER, [field] TEXT, [data] TEXT);")
|
||||
cur.execute("CREATE TABLE info([target] INTEGER, [attach_bb] INTEGER, [is_setting] INTEGER, [field] TEXT, [data] TEXT);")
|
||||
|
||||
cur.execute("CREATE TABLE block([belong_to_graph] INETGER, [thisobj] INTEGER, [name] TEXT, [assist_text] TEXT, [pin-ptarget] TEXT, [pin-pin] TEXT, [pin-pout] TEXT, [pin-bin] TEXT, [pin-bout] TEXT, [x] REAL, [y] REAL, [width] REAL, [height] REAL, [expandable] INTEGER);")
|
||||
cur.execute("CREATE TABLE cell([belong_to_graph] INETGER, [thisobj] INTEGER, [name] TEXT, [assist_text] TEXT, [x] REAL, [y] REAL, [type] INTEGER);")
|
||||
@ -667,10 +667,39 @@ def computLinkPTerminal(obj, ytype, index, currentGraphBlockCell):
|
||||
cache.y if ytype == 0 else (cache.y + cache.h - dcv.BB_PBSIZE))
|
||||
|
||||
def buildInfo(exDb, deDb):
|
||||
exCur = exDb.cursor()
|
||||
exInfoCur = exDb.cursor()
|
||||
exQueryCur = exDb.cursor()
|
||||
deCur = deDb.cursor()
|
||||
|
||||
# declare tiny storage for convenient query
|
||||
tinyStorageKey = 0
|
||||
tineStorageBB = 0
|
||||
tineStorageSetting = 0
|
||||
|
||||
# export local data (including proto bb internal data)
|
||||
exCur.execute("SELECT * FROM pData;")
|
||||
for i in exCur.fetchall():
|
||||
deCur.execute("INSERT INTO info VALUES (?, ?, ?)", (i[2], i[0], i[1]))
|
||||
exInfoCur.execute("SELECT * FROM pData;")
|
||||
for i in exInfoCur.fetchall():
|
||||
attachBB = 0
|
||||
isSetting = 0
|
||||
|
||||
if i[2] == tinyStorageKey:
|
||||
attachBB = tineStorageBB
|
||||
isSetting = tineStorageSetting
|
||||
else:
|
||||
# clear storage first
|
||||
tineStorageBB = 0
|
||||
tineStorageSetting = 0
|
||||
|
||||
# query correspond pLocal
|
||||
exQueryCur.execute("SELECT [belong_to], [is_setting] FROM pLocal WHERE [thisobj] = ?", (i[2], ))
|
||||
plocalCache = exQueryCur.fetchone()
|
||||
if plocalCache is not None:
|
||||
# add setting config
|
||||
tineStorageSetting = isSetting = plocalCache[1]
|
||||
# query bb again
|
||||
exQueryCur.execute("SELECT [thisobj] FROM behavior WHERE ( [thisobj] = ? AND [type] = 0)", (plocalCache[0], ))
|
||||
behaviorCache = exQueryCur.fetchone()
|
||||
if behaviorCache is not None:
|
||||
tineStorageBB = attachBB = behaviorCache[0]
|
||||
|
||||
deCur.execute("INSERT INTO info VALUES (?, ?, ?, ?, ?)", (i[2], attachBB, isSetting, i[0], i[1]))
|
Loading…
Reference in New Issue
Block a user