Helios-Layout.deploy.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. smalltalk.addPackage('Helios-Layout');
  2. smalltalk.addClass('HLContainer', smalltalk.Widget, ['splitter'], 'Helios-Layout');
  3. smalltalk.addMethod(
  4. smalltalk.method({
  5. selector: "renderOn:",
  6. fn: function (html){
  7. var self=this;
  8. return smalltalk.withContext(function($ctx1) {
  9. var $1,$2;
  10. $1=_st(html)._div();
  11. _st($1)._class_("tool_container");
  12. $2=_st($1)._with_(_st(self)._splitter());
  13. _st(_st(window)._jQuery_(window))._bind_do_("resize",(function(){
  14. return smalltalk.withContext(function($ctx2) {
  15. return _st(_st(self)._splitter())._resize();
  16. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  17. return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLContainer)})},
  18. messageSends: ["class:", "div", "with:", "splitter", "bind:do:", "resize", "jQuery:"]}),
  19. smalltalk.HLContainer);
  20. smalltalk.addMethod(
  21. smalltalk.method({
  22. selector: "splitter",
  23. fn: function (){
  24. var self=this;
  25. return smalltalk.withContext(function($ctx1) {
  26. var $1;
  27. $1=self["@splitter"];
  28. return $1;
  29. }, function($ctx1) {$ctx1.fill(self,"splitter",{},smalltalk.HLContainer)})},
  30. messageSends: []}),
  31. smalltalk.HLContainer);
  32. smalltalk.addMethod(
  33. smalltalk.method({
  34. selector: "splitter:",
  35. fn: function (aSplitter){
  36. var self=this;
  37. return smalltalk.withContext(function($ctx1) {
  38. self["@splitter"]=aSplitter;
  39. return self}, function($ctx1) {$ctx1.fill(self,"splitter:",{aSplitter:aSplitter},smalltalk.HLContainer)})},
  40. messageSends: []}),
  41. smalltalk.HLContainer);
  42. smalltalk.addMethod(
  43. smalltalk.method({
  44. selector: "with:",
  45. fn: function (aSplitter){
  46. var self=this;
  47. return smalltalk.withContext(function($ctx1) {
  48. var $2,$3,$1;
  49. $2=_st(self)._new();
  50. _st($2)._splitter_(aSplitter);
  51. $3=_st($2)._yourself();
  52. $1=$3;
  53. return $1;
  54. }, function($ctx1) {$ctx1.fill(self,"with:",{aSplitter:aSplitter},smalltalk.HLContainer.klass)})},
  55. messageSends: ["splitter:", "new", "yourself"]}),
  56. smalltalk.HLContainer.klass);
  57. smalltalk.addClass('HLSplitter', smalltalk.Widget, ['firstWidget', 'secondWidget', 'firstPane', 'secondPane', 'splitter'], 'Helios-Layout');
  58. smalltalk.addMethod(
  59. smalltalk.method({
  60. selector: "cssClass",
  61. fn: function (){
  62. var self=this;
  63. return smalltalk.withContext(function($ctx1) {
  64. return "splitter";
  65. }, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.HLSplitter)})},
  66. messageSends: []}),
  67. smalltalk.HLSplitter);
  68. smalltalk.addMethod(
  69. smalltalk.method({
  70. selector: "firstWidget",
  71. fn: function (){
  72. var self=this;
  73. return smalltalk.withContext(function($ctx1) {
  74. var $1;
  75. $1=self["@firstWidget"];
  76. return $1;
  77. }, function($ctx1) {$ctx1.fill(self,"firstWidget",{},smalltalk.HLSplitter)})},
  78. messageSends: []}),
  79. smalltalk.HLSplitter);
  80. smalltalk.addMethod(
  81. smalltalk.method({
  82. selector: "firstWidget:",
  83. fn: function (aWidget){
  84. var self=this;
  85. return smalltalk.withContext(function($ctx1) {
  86. self["@firstWidget"]=aWidget;
  87. return self}, function($ctx1) {$ctx1.fill(self,"firstWidget:",{aWidget:aWidget},smalltalk.HLSplitter)})},
  88. messageSends: []}),
  89. smalltalk.HLSplitter);
  90. smalltalk.addMethod(
  91. smalltalk.method({
  92. selector: "isHeliosSplitter",
  93. fn: function (){
  94. var self=this;
  95. return smalltalk.withContext(function($ctx1) {
  96. return true;
  97. }, function($ctx1) {$ctx1.fill(self,"isHeliosSplitter",{},smalltalk.HLSplitter)})},
  98. messageSends: []}),
  99. smalltalk.HLSplitter);
  100. smalltalk.addMethod(
  101. smalltalk.method({
  102. selector: "panesCssClass",
  103. fn: function (){
  104. var self=this;
  105. return smalltalk.withContext(function($ctx1) {
  106. return "panes";
  107. }, function($ctx1) {$ctx1.fill(self,"panesCssClass",{},smalltalk.HLSplitter)})},
  108. messageSends: []}),
  109. smalltalk.HLSplitter);
  110. smalltalk.addMethod(
  111. smalltalk.method({
  112. selector: "renderOn:",
  113. fn: function (html){
  114. var self=this;
  115. return smalltalk.withContext(function($ctx1) {
  116. var $1,$3,$4,$5,$6,$2,$7,$8;
  117. $1=_st(html)._div();
  118. _st($1)._class_(_st(self)._panesCssClass());
  119. $2=_st($1)._with_((function(){
  120. return smalltalk.withContext(function($ctx2) {
  121. $3=_st(html)._div();
  122. _st($3)._class_("pane");
  123. $4=_st($3)._with_(_st(self)._firstWidget());
  124. self["@firstPane"]=$4;
  125. self["@firstPane"];
  126. self["@splitter"]=_st(_st(html)._div())._class_(_st(self)._cssClass());
  127. self["@splitter"];
  128. $5=_st(html)._div();
  129. _st($5)._class_("pane");
  130. $6=_st($5)._with_(_st(self)._secondWidget());
  131. self["@secondPane"]=$6;
  132. return self["@secondPane"];
  133. }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
  134. $7=self;
  135. _st($7)._setupSplitter();
  136. $8=_st($7)._resize();
  137. return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLSplitter)})},
  138. messageSends: ["class:", "panesCssClass", "div", "with:", "firstWidget", "cssClass", "secondWidget", "setupSplitter", "resize"]}),
  139. smalltalk.HLSplitter);
  140. smalltalk.addMethod(
  141. smalltalk.method({
  142. selector: "resize",
  143. fn: function (){
  144. var self=this;
  145. return smalltalk.withContext(function($ctx1) {
  146. var $1,$2;
  147. $1=_st(_st(self)._firstWidget())._isHeliosSplitter();
  148. if(smalltalk.assert($1)){
  149. _st(_st(self)._firstWidget())._resize();
  150. };
  151. $2=_st(_st(self)._secondWidget())._isHeliosSplitter();
  152. if(smalltalk.assert($2)){
  153. _st(_st(self)._secondWidget())._resize();
  154. };
  155. return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLSplitter)})},
  156. messageSends: ["ifTrue:", "resize", "firstWidget", "isHeliosSplitter", "secondWidget"]}),
  157. smalltalk.HLSplitter);
  158. smalltalk.addMethod(
  159. smalltalk.method({
  160. selector: "secondWidget",
  161. fn: function (){
  162. var self=this;
  163. return smalltalk.withContext(function($ctx1) {
  164. var $1;
  165. $1=self["@secondWidget"];
  166. return $1;
  167. }, function($ctx1) {$ctx1.fill(self,"secondWidget",{},smalltalk.HLSplitter)})},
  168. messageSends: []}),
  169. smalltalk.HLSplitter);
  170. smalltalk.addMethod(
  171. smalltalk.method({
  172. selector: "secondWidget:",
  173. fn: function (aWidget){
  174. var self=this;
  175. return smalltalk.withContext(function($ctx1) {
  176. self["@secondWidget"]=aWidget;
  177. return self}, function($ctx1) {$ctx1.fill(self,"secondWidget:",{aWidget:aWidget},smalltalk.HLSplitter)})},
  178. messageSends: []}),
  179. smalltalk.HLSplitter);
  180. smalltalk.addMethod(
  181. smalltalk.method({
  182. selector: "setupSplitter",
  183. fn: function (){
  184. var self=this;
  185. return smalltalk.withContext(function($ctx1) {
  186. return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLSplitter)})},
  187. messageSends: []}),
  188. smalltalk.HLSplitter);
  189. smalltalk.addMethod(
  190. smalltalk.method({
  191. selector: "with:with:",
  192. fn: function (aWidget,anotherWidget){
  193. var self=this;
  194. return smalltalk.withContext(function($ctx1) {
  195. var $2,$3,$1;
  196. $2=_st(self)._new();
  197. _st($2)._firstWidget_(aWidget);
  198. _st($2)._secondWidget_(anotherWidget);
  199. $3=_st($2)._yourself();
  200. $1=$3;
  201. return $1;
  202. }, function($ctx1) {$ctx1.fill(self,"with:with:",{aWidget:aWidget,anotherWidget:anotherWidget},smalltalk.HLSplitter.klass)})},
  203. messageSends: ["firstWidget:", "new", "secondWidget:", "yourself"]}),
  204. smalltalk.HLSplitter.klass);
  205. smalltalk.addClass('HLHorizontalSplitter', smalltalk.HLSplitter, [], 'Helios-Layout');
  206. smalltalk.addMethod(
  207. smalltalk.method({
  208. selector: "cssClass",
  209. fn: function (){
  210. var self=this;
  211. return smalltalk.withContext(function($ctx1) {
  212. var $1;
  213. $1=_st(smalltalk.HLSplitter.fn.prototype._cssClass.apply(_st(self), [])).__comma(" horizontal");
  214. return $1;
  215. }, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.HLHorizontalSplitter)})},
  216. messageSends: [",", "cssClass"]}),
  217. smalltalk.HLHorizontalSplitter);
  218. smalltalk.addMethod(
  219. smalltalk.method({
  220. selector: "panesCssClass",
  221. fn: function (){
  222. var self=this;
  223. return smalltalk.withContext(function($ctx1) {
  224. var $1;
  225. $1=_st(smalltalk.HLSplitter.fn.prototype._panesCssClass.apply(_st(self), [])).__comma(" horizontal");
  226. return $1;
  227. }, function($ctx1) {$ctx1.fill(self,"panesCssClass",{},smalltalk.HLHorizontalSplitter)})},
  228. messageSends: [",", "panesCssClass"]}),
  229. smalltalk.HLHorizontalSplitter);
  230. smalltalk.addMethod(
  231. smalltalk.method({
  232. selector: "resize",
  233. fn: function (){
  234. var self=this;
  235. return smalltalk.withContext(function($ctx1) {
  236. _st(self)._resize_(_st(_st(_st(self["@splitter"])._asJQuery())._offset())._top());
  237. return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLHorizontalSplitter)})},
  238. messageSends: ["resize:", "top", "offset", "asJQuery"]}),
  239. smalltalk.HLHorizontalSplitter);
  240. smalltalk.addMethod(
  241. smalltalk.method({
  242. selector: "resize:",
  243. fn: function (anInteger){
  244. var self=this;
  245. var container,position;
  246. return smalltalk.withContext(function($ctx1) {
  247. container=_st(_st(self["@firstPane"])._asJQuery())._parent();
  248. position=_st(anInteger).__minus(_st(_st(container)._offset())._top());
  249. _st(_st(self["@firstPane"])._asJQuery())._height_(_st(_st(position)._min_(_st(_st(container)._height()).__minus((100))))._max_((100)));
  250. _st(_st(self["@secondPane"])._asJQuery())._height_(_st(_st(_st(_st(_st(container)._height()).__minus(position))._min_(_st(_st(container)._height()).__minus((100))))._max_((100))).__minus((1)));
  251. smalltalk.HLSplitter.fn.prototype._resize.apply(_st(self), []);
  252. return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,position:position},smalltalk.HLHorizontalSplitter)})},
  253. messageSends: ["parent", "asJQuery", "-", "top", "offset", "height:", "max:", "min:", "height", "resize"]}),
  254. smalltalk.HLHorizontalSplitter);
  255. smalltalk.addMethod(
  256. smalltalk.method({
  257. selector: "setupSplitter",
  258. fn: function (){
  259. var self=this;
  260. return smalltalk.withContext(function($ctx1) {
  261. _st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("y"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
  262. return smalltalk.withContext(function($ctx2) {
  263. return _st(self)._startResizing_(_st(ui)._helper());
  264. }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
  265. return smalltalk.withContext(function($ctx2) {
  266. return _st(self)._resize_(_st(_st(ui)._offset())._top());
  267. }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
  268. return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLHorizontalSplitter)})},
  269. messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "top", "offset"]}),
  270. smalltalk.HLHorizontalSplitter);
  271. smalltalk.addMethod(
  272. smalltalk.method({
  273. selector: "startResizing:",
  274. fn: function (aSplitter){
  275. var self=this;
  276. return smalltalk.withContext(function($ctx1) {
  277. _st(aSplitter)._width_(_st(_st(self["@splitter"])._asJQuery())._width());
  278. return self}, function($ctx1) {$ctx1.fill(self,"startResizing:",{aSplitter:aSplitter},smalltalk.HLHorizontalSplitter)})},
  279. messageSends: ["width:", "width", "asJQuery"]}),
  280. smalltalk.HLHorizontalSplitter);
  281. smalltalk.addClass('HLVerticalSplitter', smalltalk.HLSplitter, [], 'Helios-Layout');
  282. smalltalk.addMethod(
  283. smalltalk.method({
  284. selector: "cssClass",
  285. fn: function (){
  286. var self=this;
  287. return smalltalk.withContext(function($ctx1) {
  288. var $1;
  289. $1=_st(smalltalk.HLSplitter.fn.prototype._cssClass.apply(_st(self), [])).__comma(" vertical");
  290. return $1;
  291. }, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.HLVerticalSplitter)})},
  292. messageSends: [",", "cssClass"]}),
  293. smalltalk.HLVerticalSplitter);
  294. smalltalk.addMethod(
  295. smalltalk.method({
  296. selector: "panesCssClass",
  297. fn: function (){
  298. var self=this;
  299. return smalltalk.withContext(function($ctx1) {
  300. var $1;
  301. $1=_st(smalltalk.HLSplitter.fn.prototype._panesCssClass.apply(_st(self), [])).__comma(" vertical");
  302. return $1;
  303. }, function($ctx1) {$ctx1.fill(self,"panesCssClass",{},smalltalk.HLVerticalSplitter)})},
  304. messageSends: [",", "panesCssClass"]}),
  305. smalltalk.HLVerticalSplitter);
  306. smalltalk.addMethod(
  307. smalltalk.method({
  308. selector: "resize",
  309. fn: function (){
  310. var self=this;
  311. return smalltalk.withContext(function($ctx1) {
  312. _st(self)._resize_(_st(_st(_st(self["@splitter"])._asJQuery())._offset())._left());
  313. return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLVerticalSplitter)})},
  314. messageSends: ["resize:", "left", "offset", "asJQuery"]}),
  315. smalltalk.HLVerticalSplitter);
  316. smalltalk.addMethod(
  317. smalltalk.method({
  318. selector: "resize:",
  319. fn: function (anInteger){
  320. var self=this;
  321. var container,position;
  322. return smalltalk.withContext(function($ctx1) {
  323. container=_st(_st(self["@firstPane"])._asJQuery())._parent();
  324. position=_st(anInteger).__minus(_st(_st(container)._offset())._left());
  325. _st(_st(self["@firstPane"])._asJQuery())._width_(_st(_st(position)._min_(_st(_st(container)._width()).__minus((100))))._max_((100)));
  326. _st(_st(self["@secondPane"])._asJQuery())._width_(_st(_st(_st(_st(_st(container)._width()).__minus(position))._min_(_st(_st(container)._width()).__minus((100))))._max_((100))).__minus((1)));
  327. smalltalk.HLSplitter.fn.prototype._resize.apply(_st(self), []);
  328. return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,position:position},smalltalk.HLVerticalSplitter)})},
  329. messageSends: ["parent", "asJQuery", "-", "left", "offset", "width:", "max:", "min:", "width", "resize"]}),
  330. smalltalk.HLVerticalSplitter);
  331. smalltalk.addMethod(
  332. smalltalk.method({
  333. selector: "setupSplitter",
  334. fn: function (){
  335. var self=this;
  336. return smalltalk.withContext(function($ctx1) {
  337. _st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("x"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
  338. return smalltalk.withContext(function($ctx2) {
  339. return _st(self)._startResizing_(_st(ui)._helper());
  340. }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
  341. return smalltalk.withContext(function($ctx2) {
  342. return _st(self)._resize_(_st(_st(ui)._offset())._left());
  343. }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
  344. return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLVerticalSplitter)})},
  345. messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "left", "offset"]}),
  346. smalltalk.HLVerticalSplitter);
  347. smalltalk.addMethod(
  348. smalltalk.method({
  349. selector: "startResizing:",
  350. fn: function (aSplitter){
  351. var self=this;
  352. return smalltalk.withContext(function($ctx1) {
  353. _st(aSplitter)._height_(_st(_st(self["@splitter"])._asJQuery())._height());
  354. return self}, function($ctx1) {$ctx1.fill(self,"startResizing:",{aSplitter:aSplitter},smalltalk.HLVerticalSplitter)})},
  355. messageSends: ["height:", "height", "asJQuery"]}),
  356. smalltalk.HLVerticalSplitter);
  357. smalltalk.addMethod(
  358. smalltalk.method({
  359. selector: "isHeliosSplitter",
  360. fn: function (){
  361. var self=this;
  362. return smalltalk.withContext(function($ctx1) {
  363. return false;
  364. }, function($ctx1) {$ctx1.fill(self,"isHeliosSplitter",{},smalltalk.Object)})},
  365. messageSends: []}),
  366. smalltalk.Object);