digital matter

2007 年 3 月 のアーカイブ

Qooxdoo 0.6.6リリースと、0.7-alpha1

また新バージョン出ました。

今回の変更点は、バグフィックスとメモリリークの解消、IE7に関する問題の修正がメインのようです。

あと、Quickstartというビルド不要のシンプルなアプリケーションが追加されました。

quickstart/Application.js
このファイルを編集して開発することによって、ビルドの手間とかが省けるというもの。
まぁ、最適化がなされない分、ファイルそのものは大きくなりますけど。

Fixed tooltip support qx.ui.embed.GalleryList and qx.ui.embed.Gallery

GalleryListでtooltip試してみましたが、動かないような…?
まぁ、どちらにしろGalleryList全体でひとつのtooltipを出すような形になってしまうので、まだちょっと使えないかなぁ…

The only major API change in this release: qx.Class has been renamed to qx.Clazz to avoid a future name clash with 0.7.

あと、qx.Classをqx.Clazzにリネームする必要があるようなので注意。
今作ってたものは何も変更なしで動いたので良し。

関連する投稿

qx.ui.embed.GalleryListの選択時にアイテムのインデックスを取得する

…方法は、ちょっと簡単にはいかない感じ…

GalleryListが、qx.ui.basic.Terminatorの派生クラスで、アイテム自体はdiv要素を並べているだけなのでインデックスとか取れないようだ。

とりあえず試行錯誤の記録。最終的には、numberプロパティとして設定した#01とかの文字をDOM要素から抜き出して判断するという、微妙な対応に。

var galleryList = new qx.ui.embed.GalleryList(galleryData);
galleryList.getManager().addEventListener("changeSelection", function(e) {
  alert(e.getData()); // DIV
  alert(e.getTarget()); // DomSelectionManager
  alert(e.getTarget().getItemHashCode( e.getTarget().getSelectedItem() )); // 550
  alert(e.getTarget().getSelectedItem().firstChild); // DIV
  alert(e.getTarget().getSelectedItem().firstChild.innerHTML); // #01
  alert(e.getTarget().getSelectedItem().childNodes[0].firstChild.nodeValue); // #01
  var num = Number( e.getTarget().getSelectedItem().childNodes[0].firstChild.nodeValue.match(/#0?([0-9]+)/i)[1] );
  …
});

うーむ、使いにくい。
VerticalLayoutに自分でオブジェクト突っ込んでいった方が楽かも…

マネージャにqx.manager.selection.DomSelectionManagerクラスが指定されているので、getItems()でdivリスト取得して、上から順にisEqual(var vItem1, var vItem2)とかした方が確実だとは思う。
遅いと思うけど。

ちなみに、リストの並べ替えもGalleryListでやろうとして地獄を見た。

関連する投稿

qx.ui.embed.GalleryListのセルの高さ

var galleryList = new qx.ui.embed.GalleryList(galleryData);

galleryList.setThumbMaxHeight(120);

で調整可能。

qooxdoo_gallerylist00.png

qooxdoo_gallerylist01.png

関連する投稿