Skip to content

Commit

Permalink
small improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
Nimaoth committed Dec 13, 2023
1 parent 958135a commit 9d6fe56
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 1 deletion.
3 changes: 3 additions & 0 deletions scripting/absytree_internal.nim
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,9 @@ proc editor_model_pasteNode_void_ModelDocumentEditor_impl*(
proc editor_model_addLanguage_void_ModelDocumentEditor_impl*(
self: ModelDocumentEditor) =
discard
proc editor_model_createNewModel_void_ModelDocumentEditor_string_impl*(
self: ModelDocumentEditor; name: string) =
discard
proc editor_model_addModelToProject_void_ModelDocumentEditor_impl*(
self: ModelDocumentEditor) =
discard
Expand Down
2 changes: 2 additions & 0 deletions scripting/absytree_internal_wasm.nim
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,8 @@ proc editor_model_pasteNode_void_ModelDocumentEditor_impl(
self: ModelDocumentEditor) {.importc.}
proc editor_model_addLanguage_void_ModelDocumentEditor_impl(
self: ModelDocumentEditor) {.importc.}
proc editor_model_createNewModel_void_ModelDocumentEditor_string_impl(
self: ModelDocumentEditor; name: string) {.importc.}
proc editor_model_addModelToProject_void_ModelDocumentEditor_impl(
self: ModelDocumentEditor) {.importc.}
proc editor_model_importModel_void_ModelDocumentEditor_impl(
Expand Down
2 changes: 2 additions & 0 deletions scripting/editor_model_api.nim
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@ proc pasteNode*(self: ModelDocumentEditor) =
editor_model_pasteNode_void_ModelDocumentEditor_impl(self)
proc addLanguage*(self: ModelDocumentEditor) =
editor_model_addLanguage_void_ModelDocumentEditor_impl(self)
proc createNewModel*(self: ModelDocumentEditor; name: string) =
editor_model_createNewModel_void_ModelDocumentEditor_string_impl(self, name)
proc addModelToProject*(self: ModelDocumentEditor) =
editor_model_addModelToProject_void_ModelDocumentEditor_impl(self)
proc importModel*(self: ModelDocumentEditor) =
Expand Down
19 changes: 19 additions & 0 deletions scripting/editor_model_api_wasm.nim
Original file line number Diff line number Diff line change
Expand Up @@ -826,6 +826,25 @@ proc addLanguage*(self: ModelDocumentEditor) =
argsJsonString.cstring)


proc editor_model_createNewModel_void_ModelDocumentEditor_string_wasm(
arg: cstring): cstring {.importc.}
proc createNewModel*(self: ModelDocumentEditor; name: string) =
var argsJson = newJArray()
argsJson.add block:
when ModelDocumentEditor is JsonNode:
self
else:
self.toJson()
argsJson.add block:
when string is JsonNode:
name
else:
name.toJson()
let argsJsonString = $argsJson
let res {.used.} = editor_model_createNewModel_void_ModelDocumentEditor_string_wasm(
argsJsonString.cstring)


proc editor_model_addModelToProject_void_ModelDocumentEditor_wasm(arg: cstring): cstring {.
importc.}
proc addModelToProject*(self: ModelDocumentEditor) =
Expand Down
2 changes: 1 addition & 1 deletion src/ast/model.nim
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ proc addModel*(self: Project, model: Model) =
map[node.id] = newId
node.id = newId

log lvlWarn, &"addModel({model.path} {model.id}): Node with id {node.id} already exists in model {existing.model.path} ({existing.model.id}).\nExisting node: {existing.dump(recurse=true)}\nNew node: {node.dump(recurse=true)}"
log lvlWarn, &"addModel({model.path} {model.id}): Node with id {existing.id} already exists in model {existing.model.path} ({existing.model.id}).\nExisting node: {existing.dump(recurse=true)}\nNew node: {node.dump(recurse=true)}"
foundExistingNodes = true

if foundExistingNodes:
Expand Down
4 changes: 4 additions & 0 deletions src/model_document.nim
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,8 @@ proc updateScrollOffset*(self: ModelDocumentEditor, scrollToCursor: bool = true)

# debugf"updateScrollOffset {self.targetCellPath}:{self.scrollOffset}"

self.retriggerValidation()

self.markDirty()

proc updateScrollOffsetToPrevCell(self: ModelDocumentEditor): bool =
Expand Down Expand Up @@ -1132,10 +1134,12 @@ static:

proc scrollPixels*(self: ModelDocumentEditor, amount: float32) {.expose("editor.model").} =
self.scrollOffset += amount
self.retriggerValidation()
self.markDirty()

proc scrollLines*(self: ModelDocumentEditor, lines: float32) {.expose("editor.model").} =
self.scrollOffset += self.app.platform.builder.textHeight * lines.float
self.retriggerValidation()
self.markDirty()

proc getModeConfig(self: ModelDocumentEditor, mode: string): EventHandlerConfig =
Expand Down

0 comments on commit 9d6fe56

Please sign in to comment.