使い方がよくわからん…
とりあえずqooxdooのqx.jsを読み込ませてみたらかなり時間がかかった。
使いこなせれば開発効率上げられるかなー。
要検証。
2006/11/24
qooxdoo ≫ News ≫ qooxdoo 0.6.2 released
キタ━(゚∀゚)━!
WebKitとSafari 3.0をサポートに含むとのコト。
つまり、現在最新のWebKitに対応しているから、Safari 3.0で(多分)動くってコトですな。
あとはバグフィックスとちょっとした追加がぼちぼち。
Release 0.6.2 (2006-11-22)
※超意訳
追加
…翻訳途中で飽きた。
あと機械翻訳。
変更
修正
デモ
ツール
API
とりあえず今作ってるヤツのqx.jsを0.6.2に入れ替えてみよう。
結果は次回。
2006/11/15
qooxdoo 0.6.1とprototype.js 1.4.0を同時に読み込んだ場合、読み込んだだけで、終了時にエラーが発生する。
とりあえず qx.js の最初の方を見てみると
$=["","appearance","enableDebug",
で、$がprototype.jsとモロかぶり。
今回使わなかったから遭遇しなかったけど、多分 $() が動かないハズ。
めんどいので、さっくりと全部置換してしまいましょう。
qooxdooいじって壊すとワケがわからないことになりそうなので、prototype.jsの方を置換することに。
$( を $ELE( とかに全置換。
解決。
$ELE() はダサいとか言うな。
2006/11/15
前回見当違いなプラグインを追いかけてしまったので、今回は別のアプローチで。
tiny_mce_gzip.phpが返すjsを調べると
var defVals = {
// theme_advanced_buttons1 : “bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect”,
// theme_advanced_buttons2 : “bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code”,
// theme_advanced_buttons3 : “hr,removeformat,visualaid,separator,sub,sup,separator,charmap”
theme_advanced_buttons1 : “undo,redo,cut,copy,paste,pastetext,pasteword,search,replace,separator,bold,italic,underline,strikethrough,sub,sup,link,anchor,unlink,pivot_image,pivot_popup,pivot_download,separator,bullist,numlist,outdent,indent,separator,forecolor,backcolor”,
theme_advanced_buttons2 : “justifyleft,justifycenter,justifyright,separator,formatselect,separator,tablecontrols,separator,hr,removeformat,charmap,cleanup,code”
};
こんなデフォルト値が。
…元のやつコメントアウトされてますな。
styleselectというのが、目的の物だったらしい。
\extensions\hooks\pre_editor_wysi.php を編集して、
theme_advanced_buttons2 : “justifyleft,justifycenter,justifyright,separator,styleselect,formatselect,separator,tablecontrols,separator,hr,removeformat,charmap,cleanup,code”
か
theme_advanced_buttons2_add : “separator,styleselect”,
を追加。汎用性を考えると下の方が良さげ。
あと、
theme_advanced_styles : “Code=code;Link=link”,
も追加。「表示名=クラス名」で列挙できます。
このPHPが読んでるファイルはどうやら \extensions\hooks\editor_wysi\themes\advanced\editor_template.js らしい。
こっちを編集しても良いかと。
どっちを書き換えるのがベターでしょうね…テーマだから、editor_template.js かなぁ…
解決。超便利。
あと、改めて2.0.5.1のファイルを落としてきたらstyleプラグイン同梱してなかったわ…
追記。
editor_template.js に書いたらstyleselect自体は表示されたけど、theme_advanced_stylesが反映されなかった…
分散するのもアレなので pre_editor_wysi.php の方に記述でFA。
2006/11/15
Pivotのエントリ編集画面の拡張ビューで、ソースコードやリンクを簡単に編集したい。
いちいちHTML表示にしてp要素にclass=”code”とか追記するのはさすがに面倒になってきたので。
Pivotで使われているTinyMCEは、TinyMCE本家のデモを見る限りスタイルというリストボックスがあって、そこで選択した値がclass属性として指定される。
Pivot添付のTinyMCEでは、スタイルが設定できないのでこれを何とかしてみようというのが今回の試み。

スタイルを適用すると、ソースはこうなる。
<span class=”header1″>Test header 1</span><br />
<span class=”header2″>Test header 2</span><br />
<span class=”header3″>Test header 3</span><br />
うむ。便利だ。
で、どうもstyleプラグインというものを読み込めばいいらしい。
※注意:実際にはstyleプラグインではなかったので、やり方を知りたい人は後編を参照してください。
Pivot付属のTinyMCEでは入ってなかったので、本家から落としてくることにする。
付属はバージョン2.0.5.1だけど、とりあえず現時点最新の2.0.8を取得。
TinyMCE Javascript Content Editor by Moxiecode Systems AB
解凍した tinymce_2_0_8\tinymce\jscripts\tiny_mce\plugins\style をまるっと \extensions\hooks\editor_wysi\plugins にコピー。
で、Pivotの管理画面の方を編集。
\extensions\hooks\pre_editor_wysi.php を開いて、プラグインマニュアルを参考に、
plugins : “table,searchreplace,contextmenu”,
を、
plugins : “table,searchreplace,contextmenu,style“,
theme_advanced_buttons1_add : “styleprops”,
に変更。
エラー。
どうもimportPluginLanguagePack関数に第二引数を渡していないのが問題のようなので、\extensions\hooks\editor_wysi\plugins\style\editor_plugin.js を開いて
tinyMCE.importPluginLanguagePack(‘style’,’en’);
,’en’を追加
さぁどうだ!よし、エラーなし!
…
![]()

欲しかったのはこれじゃなーい!!
_| ̄|○..
続きは次回。
2006/11/10
前回の自動化について。
vbsファイルにドラッグアンドドロップでExcelファイルを指定させるようにすると、まぁ、一般ユーザにわかりにくいかなと思ったので、ファイル選択ダイアログを出す形式にした。
CommonDialogで検索すると、MSComDlg.CommonDialogを使った方法が多く出てくるけど、これはライセンスの問題でVBをインストールしていないと使えないようです。
で、OSがXP以降ならMSComDlg以外のCommonDialogが使える模様。
とりあえず、ダイアログを出して、Excelファイルを開くところまで。
' ファイル選択ダイアログ
Set objComDlg = WScript.CreateObject("UserAccounts.CommonDialog")
Dim BaseDir
BaseDir = objShell.CurrentDirectory
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Visible = False
' Excelファイルを開くためのダイアログを出す
objComDlg.Filter = "Excel File|*.xls"
objComDlg.InitialDir = BaseDir & "\"
If objComDlg.ShowOpen Then
Set objWorkbook = objExcel.Workbooks.Open(objComDlg.FileName)
…
2006/11/07
qx.ui.embed.IframeでIFrameを作ると、divの下にIFrameが作られる。
やりたい事としては、IFrameにnameを設定して、フォームの飛び先にしようとしているのですが。
で、調べてみたらqx.ui.embed.IframeにframeNameというプロパティがあるので、それを設定すればいいという事が判明。
var Iframe_1 = new qx.ui.embed.Iframe();
Iframe_1.set({ frameName: "IFrameUploadImage", visibility: false });
これで画面遷移なしでファイルアップロードができる。
2006/11/03
qx.ui.window.WindowをModalWindowで開く時にはDocument本体にaddしないといけない。
そうしないと、開いた瞬間、全てのWidgetが操作を受け付けなくなる。
あ。あと、表示位置がズレたりする。
At a glanceのサンプルから拾ってきたコードをちょっと修正。
var doc = qx.ui.core.ClientDocument.getInstance();
var dialogEditFrage = new qx.ui.window.Window("Edit", "icon/16/editor.png");
with(dialogEditFrage) {
setSpace(300, 250, 300, 160);
setModal(true);
set({ moveable: true, showMinimize: false, showMaximize: false, showClose: false });
…
}
var btnOpen = new qx.ui.form.Button("ダイアログを開く");
btnOpen.addEventListener("click", function(e) {
dialogEditFrage.open();
});
HorizontalBoxLayout_2.add(btnOpen);
doc.add(dialogEditFrage);
2006/11/03
やっぱりタブ切り替え時に毎回createイベントが発生するというのは幻覚だった。
タブを切り替えて、初回表示したときに発生するけど、そこからさらに他のタブに切り替えて、またそのタブに戻すと発生しない。
まぁ、つまり初回表示時にcreateしているって事ですかね。
結局時間ないので今回は初期状態でタブを選択しないことで回避。
今後の要調査課題。