Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
PersefoneDesktop.jl 1.34 KiB
### PersefoneDesktop - a GUI to the Persefone model of agriculture and ecosystems
###
### Daniel Vedder <daniel.vedder@idiv.de>
### Guy Pe'er <guy.peer@idiv.de>
### https://git.idiv.de/persefone/persefone-desktop
### (c) 2022-2023, licensed under the terms of the MIT license
###
### This file defines the module/package for the Persefone desktop software.
### To run the software, execute the `run.jl` script.
###


module PersefoneDesktop

using Persefone

using CSV: CSV
using CxxWrap: @safe_cfunction
using DataFramesMeta: @select!, @subset, @transform!
using Dates: Dates, Day, today
using FileIO: load
using GLMakie: GLMakie, Axis, DataAspect, Figure, axislegend, cgrad, on,
               hidedecorations!, lines!, image!, update_theme!, scatter!, @lift
using Observables: Observable
using QML: QML, JuliaPropertyMap, QString, QTimer, @emit, @qmlfunction,
           emit, exec, loadqml
using ResumableFunctions: ResumableFunctions, @resumable, @yield
using TOML: TOML

export
    launch

# To visualise dependencies, see here: https://tfiers.github.io/PkgGraph.jl/v0.6/

include("variables.jl")
include("logic.jl")
include("config.jl")
include("GUI.jl")

function _precompile()
    ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
    precompile(launch, ())
    precompile(render_map, (Any,)) #what's the input type?
    return
end
_precompile()

end