// 添付テキストファイルの整形表示プラグイン
// $Id: refpre.inc.php,v 1.5 2004/03/05 15:14:27 m-arai Exp $
//
//#refpre( file.txt [, line[, nmode]]);
// file.txt : 添付ファイル名
// line : 行指定
// なし 全部 (デフォルト)
// 10 10行目のみ
// 11- 11行目以降
// 12-34 12行~34行
// 12+10 12行から10行分
// -34 34行まで
// nmode : 行番号表示の有(1)/無し(0) デフォルト = 0
//
//
// mime_magicの設定
//
// UNIX系では、
// --with-mime-magic=/パス/magic.mime
//
// Windows系では、php.iniで
// extension=php_mime_magic.dll
// mime_magic.magicfile ="PHPインストールパス\magic.mime"
// TAB幅
define(REFPRE_TABSZ, 4);
function refpre_replace_tab($str)
{
$tmp = explode("\t", $str);
foreach ( $tmp as $add ) {
$plen = (1+(int)(strlen($add)/REFPRE_TABSZ))*REFPRE_TABSZ;
$res .= str_pad( $add, $plen);
}
// 改行が入っているので、あえてcharlistにスペースを指定する
return rtrim($res," ");
}
function plugin_refpre_convert()
{
global $vars;
$args = func_get_args();
$fname = UPLOAD_DIR.encode($vars[page]).'_'.encode($args[0]);
if ( !is_readable( $fname)) {
return "not found.";
}
if ( extension_loaded('mime_magic') &&
is_readable('mime_magic.magicfile') ) {
if ( !preg_match('/text\/.*$/', mime_content_type( $fname))) {
return "not text.";
}
}
$stn = 1;
$edn = -1;
if ( preg_match('/^\d+$/', $args[1])) {
$stn = $args[1];
$edn = $args[1];
} else if ( preg_match('/^(\d+)\-$/', $args[1], $mc)) {
$stn = $mc[1];
} else if ( preg_match('/^\-(\d+)$/', $args[1], $mc)) {
$edn = $mc[1];
} else if ( preg_match('/^(\d+)\-(\d+)$/', $args[1], $mc)) {
$stn = $mc[1];
$edn = $mc[2];
} else if ( preg_match('/^(\d+)\+(\d+)$/', $args[1], $mc)) {
$stn = $mc[1];
$edn = $stn+$mc[2]-1;
}
$lmax = count( $lines = file( $fname));
$edn = ( $edn > 0 && $edn < $lmax ) ? $edn: $lmax;
$fmt = '%0'.strlen($edn).'d: ';
for (; $stn<=$edn; $stn++ ) {
$tstr = htmlspecialchars(mb_convert_encoding($lines[$stn-1],SOURCE_ENCODING,"auto"));
$res .= ( $args[2] ? sprintf($fmt,$stn):'').refpre_replace_tab($tstr);
}
return '
'.$res.'
';
}
?>
N900:Python:Qt:レイアウトサンプル のバックアップ(No.1) - HiiHahWIKI - making some notes for... -
N900:Python:Qt:レイアウトサンプル †
Qtでのレイアウト指定のサンプルです。
絶対値指定のサンプル †
絶対値で部品の位置を指定します。
#refpre(1_imageloader.py,,1)
こんな感じで表示されます。
&ref(): File not found: "Screenshot-20110505-231858.png" at page "N900:Python:Qt:レイアウトサンプル";
Boxを使ったレイアウトサンプル †
乞うご期待??
Gridを使ったレイアウトサンプル †
乞うご期待??