[R-gui] ttkentry background doesnt work

Peter Dalgaard pdalgd at gmail.com
Tue Aug 24 19:30:22 CEST 2010


On 08/24/2010 04:59 PM, jverzani wrote:

w <- tktoplevel()
.Tcl(paste("ttk::style layout styled.entry {",
           "  Entry.field -sticky nswe -border 0 -children {",
           "    Entry.padding -sticky nswe -children {",
           "      Entry.textarea -sticky nswe",
           "      }",
           "   }",
           "}",
           sep="\n"))
tcl("ttk::style", "configure","styled.entry", background="#b2b2b2")

e <- ttkentry(w,  style="styled.entry")

tkpack(e)

----


Thanks John,

The whole thing indicates some rather glaring gaps in the interface.
Pasting large stretches of Tcl code together like that _should_ be
unnecessary, but for now, that's probably what you have to do.

What is probably needed is coercion between R list-like structures and
Tcl lists. With that in place, I'd conjecture that we could write
something like


ttkstyle.layout("mystyle",
  list("Entry.field", sticky="nswe", border=0,
       children=list("Entry.padding", sticky="nswe",
           children=list("Entry.textarea", sticky="nswe))))

or maybe

ttkstyle.layout("mystyle", expression(
 Entry.field(sticky="nswe", children=
 Entry.padding(sticky="nswe", children=
 Entry.textarea(sticky="nswe"))))

...if you catch my drift. The exact design probably requires a bit more
thought.

-- 
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-SIG-GUI mailing list