Prepararory changes for Reflection.
This commit is contained in:
parent
867e8d5a63
commit
d971a87391
1 changed files with 14 additions and 3 deletions
|
@ -1,10 +1,12 @@
|
|||
(ns clojurefx.factory
|
||||
(:require [taoensso.timbre :as timbre]
|
||||
[clojure.java.io :as io]
|
||||
[clojure.reflect :as reflect]
|
||||
[clojurefx.clojurefx :as fx]
|
||||
[clojurefx.protocols :refer :all])
|
||||
(:import (javafx.scene Scene Node Parent)
|
||||
(javafx.scene.layout Region)))
|
||||
(javafx.scene.layout Region)
|
||||
(clojure.reflect Constructor)))
|
||||
|
||||
(timbre/refer-timbre)
|
||||
|
||||
|
@ -60,8 +62,17 @@
|
|||
}))
|
||||
|
||||
(def constructor-args
|
||||
(atom {javafx.scene.Scene [:root]
|
||||
javafx.stage.Stage [:style]}))
|
||||
(atom {javafx.scene.Scene [(with-meta :root {:type javafx.scene.Parent})]
|
||||
javafx.stage.Stage [(with-meta :style {:type javafx.stage.StageStyle})]}))
|
||||
|
||||
(defn find-constructor [clazz cargs]
|
||||
(->> (reflect/reflect clazz)
|
||||
(filter #(= Constructor (class %)))
|
||||
(map :parameter-types)
|
||||
(filter #(= cargs %))
|
||||
first))
|
||||
|
||||
|
||||
|
||||
(declare compile-o-matic)
|
||||
(defn apply-props-to-node [node props]
|
||||
|
|
Loading…
Reference in a new issue