#91815 - 2003-03-17 01:31 PM
RFC: PostPrep with Resizable Form ...
|
Jochen
KiX Supporter
Registered: 2000-03-17
Posts: 6380
Loc: Stuttgart, Germany
|
Friends ...
for those who have already the latest kixforms release running here is the (not yet finished) PostPrep 1.0.3 featuring the Resizing Framework :
; UBB PostPrep 1.0.3 (Engine build 5) ; ---------------------------------------------------------------------------------------------- ; MINIMUM REQUIREMENTS ; ; KIXTART 4.20 (WKiX32) ; KIXFORMS build 38 (2.30 Beta 1) ; ---------------------------------------------------------------------------------------------- ; AUTHORs ; Jooel Nieminen - Conversion Engine ! ; Jochen Polster - Form, Controls, Design, Codestarter ; ---------------------------------------------------------------------------------------------- ; ACKNOWLEDGEMENTS ; Shawn Tassie (for Kixforms of course!) ; Richard Howarth (for pointing out the <br>-tag Issue) ; All KiXtart Enthusiastics for which we wrote this ; ---------------------------------------------------------------------------------------------- ; VERSION HISTORY ; ; ; ; 1.0.2 - 03/10/2003 replaced Buttons with ToolButtons ; ; 1.0.1 - 01/28/2003 bug-fixes to conversion engine, optional WordWrap added ; ; 1.0 - 01/27/2003 Initial worthwhile release ; ; 0.9 A - different very buggy Alpha releases not worth to mention ; ; 0.9 P - Preview Version(s) discussed on kixtart.org Bulletin board ; http://www.kixtart.org/board/ultimatebb.php?ubb=get_topic;f=13;t=000426 ; ----------------------------------------------------------------------------------------------
break on $ = setascii("on")
$ReqForms = 38 $Version = "1.0.3" $Wordfile = @scriptdir + '\Wordfile.ini' $Kix = substr(@kix,1,4)
if $Kix < "4.20" $ = messagebox('This Script requires at least KiXtart 4.20 ','Version Check',4112) quit() endif
Global $SourceText[0], $TargetText[0], $Colors[7], $PathOpen, $PathSave, $ShowStatistics, $wrap $Sections = "Comments","Strings","Numbers","Commands","Functions","Macros","Operators","Variables"
if exist($Wordfile) for $i = 0 to 7 $Colors[$i] = readprofilestring($Wordfile,$Sections[$i],"Color") next $CTable = split(readprofilestring($Wordfile,"ColorTable","Colors"),',') $Commands = split(readprofilestring($Wordfile,"Commands", "words"),',') $Functions = split(readprofilestring($Wordfile,"Functions", "words"),',') $PathOpen = readprofilestring($Wordfile,"Global","PathOpen") $PathSave = readprofilestring($Wordfile,"Global","PathSave") $ShowStatistics = val(readprofilestring($Wordfile,"Global","ShowStats")) $wrap = val(readprofilestring($Wordfile,"Global","WordWrap")) $LastSize = split(readprofilestring($Wordfile,"Global","FormSize"),',') if not ubound($Commands) or not ubound($Functions) or not ubound($Colors) $ = messagebox('This Script requires a consistent wordfile','File check',4112) quit() endif else $ = messagebox('This Script requires a wordfile ','File missing',4112) quit() endif
$frm = createobject("Kixtart.Form")
if val($frm.Build) < $ReqForms $ = messagebox('This Script requires Kixforms build ' + $ReqForms,'Version check',4112) quit() endif
$frm.Size = 810,620 $frm.Caption = "UBB Postprep " + $Version $frm.Icon = @scriptdir + "\Kix.ico" $frm.Resizable = 1 $frm.MaxButton = 1 $frm.ClipChildren = 1 $frm.Center
$lblPowered = $frm.Label("Powered by", $frm.ClientWidth-98,$frm.ClientHeight-115,90,20) $lblPowered.FontName = "Comic sans MS" $lblPowered.FontBold = 1 $lblPowered.FontSize = 11 $lblPowered.ForeColor = Kixtart $lblPowered.Anchor = 4+8
$lblBuild = $frm.Label(" KiXtart " + $kix + @crlf + " and" + @crlf + " KiXforms build " + $frm.Build, $frm.ClientWidth-98,$frm.ClientHeight-90,90,40) $lblBuild.FontName = "Comic sans MS" $lblBuild.FontBold = 1 $lblBuild.FontSize = 7 $lblBuild.ForeColor = Kixtart $lblBuild.Anchor = 4+8
$hypBoard = $frm.HyperLink("Bulletin Board",$frm.ClientWidth-87, $frm.ClientHeight-45, 100, 25) $hypBoard.Value = "http://www.kixtart.org/cgi-bin/ultimatebb.cgi?Category=1" $hypBoard.ToolTip = $hypBoard.Value $hypBoard.Anchor = 4+8
$txtSource = $frm.TextBox(,3,5) $txtSource.Right = $frm.ClientWidth-110 $txtSource.Bottom = $frm.ClientHeight/2-3 $txtSource.ScrollBars = 3 $txtSource.AcceptsTab = 1 $txtSource.FontName = "Courier New" $txtSource.FontSize = 8 $txtSource.MultiLine = 1 $txtSource.Anchor = 1+2+4+8 $txtSource.OnChange = "TextSource_Change()"
$txtTarget = $frm.TextBox(,3,5 + $txtSource.Bottom) $txtTarget.Right = $frm.ClientWidth - 110 $txtTarget.Bottom = $frm.ClientHeight - 20 $txtTarget.ScrollBars = 3 $txtTarget.FontName = "Courier New" $txtTarget.FontSize = 8 $txtTarget.MultiLine = 1 $txtTarget.Anchor = 1+4+8
$lblStatus1 = $frm.Label("",3,$frm.ClientHeight-17,$frm.ClientWidth/3*2,16) $lblStatus1.BorderStyle = 5 $lblStatus1.Anchor = 1+4+8
$lblStatus2 = $frm.Label("",$lblStatus1.Right+3,$frm.ClientHeight-17,$frm.ClientWidth/3-6,16) $lblStatus2.BorderStyle = 5 $lblStatus2.Anchor = 4+8
$prg = $lblStatus2.ProgressBar $prg.Size = $frm.ClientWidth/3-8,13 $prg.Style = 1 $prg.BorderStyle = 0 $prg.Value = 0 $prg.ForeColor = DarkBlue $prg.Visible = 0
$btnOpen = btn_Create($frm,"Open...",$txtTarget.Right+9,5,92,25,1,5,"btnOpen_Click()",1,"2+4") $btnClear = btn_Create($frm,"Clear",$txtTarget.Right+9,$btnOpen.Bottom,92,25,44,5,"btnClear_Click()",0,"2+4") $btnKeyWords = btn_Create($frm,"Keywords...",$txtTarget.Right+9,$btnClear.Bottom,92,25,41,5,"btnKeyWords_Click()",1,"2+4") $btnColor = btn_Create($frm,"Set Colors...",$txtTarget.Right+9,$btnKeyWords.Bottom,92,25,17,5,"btnColor_Click()",1,"2+4") $fraFormat = $frm.Frame("Convert:",$txtTarget.Right+9,$btnColor.Bottom+5,92,239) $fraFormat.Anchor = 2+4
dim $Top $Top = 17 for $i = 0 to ubound($Sections) $ = execute("$$txtFormat$i = $$fraFormat.TextBox($$Sections[$i],6,$Top,80,20)") $ = execute("$$txtFormat$i.Caption = $$Sections[$i]") $ = execute("$$txtFormat$i.ForeColor = &"+readprofilestring($Wordfile,$Sections[$i],'Color')) $ = execute("$$txtFormat$i.FontBold = -"+val(readprofilestring($Wordfile,$Sections[$i],'Bold'))) $ = execute("$$txtFormat$i.Locked = 2") $ = execute("$$txtFormat$i.TabStop = 0") $ = execute("$$Top = $$txtFormat$i.Bottom + 3") next
$chkShowStats = $fraFormat.CheckBox("Statistics ?",6, $txtFormat7.Bottom+4,80,15) $chkShowStats.Value = $ShowStatistics $chkShowStats.OnClick = "chkShowStats_CLick($$chkShowStats.Value)"
$chkWordWrap = $fraFormat.CheckBox("Word Wrap",6, $chkShowStats.Bottom+2,80,15) $chkWordWrap.Value = $wrap $chkWordWrap.OnClick = "chkWordWrap_CLick($$chkWordWrap.Value)"
$btnConvert = btn_Create($frm,"Convert",$txtTarget.Right+9,$fraFormat.Bottom+10,92,25,36,5,"btnConvert_Click()",0,"2+4") $btnPreview = btn_Create($frm,"Preview",$txtTarget.Right+9,$btnConvert.Bottom,92,25,43,5,"btnPreview_Click($$txtTarget.text)",0,"2+4") $btnCopy = btn_Create($frm,"Copy All",$txtTarget.Right+9,$btnPreview.Bottom,92,25,7,5,"btnCopy_Click()",0,"2+4") $btnSave = btn_Create($frm,"Save As...",$txtTarget.Right+9,$btnCopy.Bottom,92,25,3,5,"btnSave_Click()",0,"2+4")
if vartype($LastSize) > 8192 and ubound($LastSize) > 0 if $LastSize[0] > 810 and $LastSize[1] > 620 $frm.Size = $LastSize[0],$LastSize[1] endif endif $txtSource.SetFocus $frm.Show while $frm.Visible $ = execute($frm.DoEvents) loop
$ = writeprofilestring($Wordfile,"Global","FormSize","" + $frm.ClientWidth + "," + $frm.ClientHeight)
function btn_Create($ob,$z1,$z2,$z3,$z4,$z5,$z6,$z7,$z8,$z9,$z10) dim $,$! $ = "$$" $! = execute('$$btn_Create=$$ob.ToolButton("$z1",$z2,$z3,$z4,$z5) $$btn_Create.Icon=$z6 $$btn_Create.BorderStyle=$z7 $$btn_Create.onclick="$$z8" $$btn_Create.Enabled=$z9 $$btn_Create.Anchor=$z10 ') endfunction
function btnAdd_Click() $frmAdd = createobject("Kixtart.Form") $frmAdd.Caption = "Add " + $cboSel.Text $frmAdd.Size = 200,100 $frmAdd.Location = $frm.Right-400,$frm.Top+142 $frmAdd.SysMenu = 0
$txtAdd = $frmAdd.TextBox("",13,10,150,20) $txtAdd.OnChange = "if $$txtAdd.Text <> '' and ascan($$"+$cboSel.Text+",$$txtAdd.Text)=-1 $$btnOk.Enabled=1 else $$btnOk.Enabled=0 endif"
$btnOk = $frmAdd.Button("OK",$frmAdd.ClientWidth/2-83,$frmAdd.ClientHeight-30,80,25) $btnOk.BorderStyle = 5 $btnOk.Enabled = 0 $btnOk.OnClick = "$$=$$lvw.Items.Add($$txtAdd.Text) redim $$"+$cboSel.Text+"[0] for $$i=1 to $$lvw.Items.Count redim preserve $$"+$cboSel.Text+"[$$i-1] $$"+$cboSel.Text+"[$$i-1]=$$lvw.Items($$i-1).Text next $$=writeprofilestring($$Wordfile,$$cboSel.Text,'Words',join($$"+$cboSel.Text+",',')) for each $$item in $$lvw.SelectedItems $$Item.Selected = 0 next $$txtAdd.SetFocus $$txtAdd.Text=''"
$btnEx = $frmAdd.Button("Exit",$frmAdd.CLientWidth/2+3,$frmAdd.ClientHeight-30,80,25) $btnEx.BorderStyle = 5 $btnEx.Cancel = 1 $btnEx.OnClick = "$$frmAdd=0"
$frmAdd.Show $txtAdd.SetFocus while $frmAdd.Visible $ = execute($frmAdd.DoEvents) loop endfunction
function btnClear_Click() $txtSource.Text = '' $txtTarget.Text = '' $lblStatus1.Text = '' $btnSave.Enabled = 0 $btnCopy.Enabled = 0 $btnClear.Enabled = 0 $btnConvert.Enabled = 0 $btnPreview.Enabled = 0 endfunction
function btnColor_Click() dim $Left, $Top, $index $index = 0 $Left = 7 $Top = 19
$frmDialog1 = createobject("Kixtart.Form") $frmDialog1.Size = 245,233 $frmDialog1.Caption = "Set Colors" $frmDialog1.Location = $frm.Right - $frmDialog1.ClientWidth - 120 , $frm.Top + $btnColor.Bottom - 2 $frmDialog1.ForeColor = MediumBlue $frmDialog1.DrawWidth = 2 $frmDialog1.SysMenu = 0
$cboStrings = $frmDialog1.ComboBox $cboStrings.List = $Sections $cboStrings.Location = 5,8 $cboStrings.ListIndex = 0 $cboStrings.Style = 1 $cboStrings.Default = 1 $cboStrings.OnClick = "$$index = cboStrings_CLick($$Index,$$cboStrings.ListIndex)"
$chkBold = $frmDialog1.CheckBox("Bold",112,11,50,15) $chkBold.OnClick = "chkBold_Click($$index)" $chkBold.Value = val(readprofilestring($Wordfile,$Sections[0],"Bold"))
$btnClose1 = $frmDialog1.Button("Close",$frmDialog1.ClientWidth-75,7,70,25) $btnClose1.BorderStyle = 5 $btnClose1.Cancel = 1 $btnClose1.OnClick = "$$frmDialog1=0"
$fraColor = $frmDialog1.Frame("Colors:",5,40,230,163)
for $i = 0 to ubound($CTable) $ = execute("$$lblColor$i = $$fraColor.Label('',$Left,$Top,20,18)") $ = execute("$$lblColor$i.BorderStyle = 2") $ = execute("$$lblColor$i.BackColor = &" + $CTable[$i]) $ = execute("$$lblColor$i.OnClick = 'Color_Change($$$$index,$i)'") $Left = $Left + 28 if $Left = 231 $Left = 7 $Top = $Top + 24 endif next
$e = ascan($CTable, $Colors[$index]) $ = execute("$$frmDialog1.Rectangle($$lblColor$e.Left+3,$$lblColor$e.Top+38,24,22)")
$frm.Enabled = 0 $frmDialog1.Show
while $frmDialog1.Visible $ = execute($frmDialog1.DoEvents) loop
$frm.Enabled = 1 endfunction
function btnConvert_Click() dim $StartTime, $EndTime, $HColors[7], $out, $i,$fb $txtSource.Locked = 2 $frm.MousePointer = 11 $prg.Visible = 1 $btnOpen.Enabled = 0 $btnKeyWords.Enabled = 0 $btnColor.Enabled = 0 $btnPreview.Enabled = 0 $btnCopy.Enabled = 0 $btnSave.Enabled = 0 $btnClear.Enabled = 0 for $i = 0 to ubound($Colors) $HColors[$i] = right($Colors[$i],2) + substr($Colors[$i],3,2) + left($Colors[$i],2) $ = execute("$$fb=''+$$fb+$$txtFormat$i.FontBold+' '") next $fb=split(left($fb,len($fb)-1)) $StartTime = @time + ':' + @msecs $out = kix2htm($txtSource.Text,$HColors,$fb,$Functions,$Commands,$wrap) $EndTime = @time + ':' + @msecs $txtTarget.Text = $out[0] $txtSource.Locked = 0 $frm.MousePointer = 0 $prg.Value = 0 $btnCopy.Enabled = 1 $btnPreview.Enabled = 1 $btnSave.Enabled = 1 $btnClear.Enabled = 1 $btnOpen.Enabled = 1 $btnKeyWords.Enabled = 1 $btnColor.Enabled = 1 $prg.Visible = 0 if $ShowStatistics $ = ShowStats(DeltaTime($StartTime, $EndTime), $out[3], $out[4], $out[2], $out[1]) endif endfunction
function btnCopy_Click() $txtTarget.SelStart = 0 $txtTarget.SelLength = -1 $txtTarget.Copy endfunction
function btnDel_Click() dim $ if $lvw.SelectedItems.Count > 0 and $lvw.FocusedItem.Selected $lvw.SelectedItems.clear $ = execute("redim $$"+$cboSel.Text+"[0]") for $i = 1 to $lvw.Items.Count $=execute("redim preserve $$"+$cboSel.Text+"[$$i-1] $$"+$cboSel.Text+"[$$i-1]=$$lvw.Items($$i-1).Text") next $ = execute("$$=writeprofilestring($$Wordfile,$$cboSel.Text,'Words',join($$"+$cboSel.Text+",','))") endif endfunction
function btnKeyWords_Click() dim $frmDialog2 $frm.Enabled = 0 $frmDialog2 = createobject("Kixtart.form") $frmDialog2.Size = 400,380 $frmDialog2.Caption = "Maintain Keywords" $frmDialog2.Location = $frm.Right-$frmDialog2.ClientWidth-120,$frm.Top+$btnKeyWords.Bottom-2 $frmDialog2.SysMenu = 0
$cboSel = $frmDialog2.ComboBox $cboSel.List = "Commands","Functions" $cboSel.Location = 5,8 $cboSel.ListIndex = 0 $cboSel.Style = 1 $cboSel.OnClick = "cboSel_Click()"
$btnAdd = $frmDialog2.Button("Add Keywords...",$cboSel.Right+5,5,95,25) $btnAdd.BorderStyle = 5 $btnAdd.OnCLick = "btnAdd_Click()"
$btnDel = $frmDialog2.Button("Delete Selected",$btnAdd.Right+5,5,95,25) $btnDel.BorderStyle = 5 $btnDel.OnClick = "btnDel_Click()"
$btnClose2 = $frmDialog2.Button("Close",$frmDialog2.ClientWidth-75,5,70,25) $btnClose2.BorderStyle = 5 $btnClose2.Cancel = 1 $btnClose2.OnClick = "$$frmDialog2=0"
$lvw = $frmDialog2.ListView() $lvw.Left = 5 $lvw.Top = 35 $lvw.Right = $frmDialog2.ClientWidth-5 $lvw.Bottom = $frmDialog2.ClientHeight-5 $lvw.View = 2 $lvw.Gridlines = True $lvw.MultiSelect = True $lvw.Sorted = 1
for $i = 0 to ubound($Commands) $ = $lvw.Items.Add($Commands[$i]) next
for each $Item in $lvw.SelectedItems $Item.Selected = 0 next
$frmDialog2.Show while $frmDialog2.Visible $=execute($frmDialog2.DoEvents) loop $frm.Enabled = 1 endfunction
function btnOpen_Click() dim $FileName, $nl $FileName = $frm.FileOpenDialog("Open",$PathOpen,, "KiX Files|*.kix;*.udf;*.k2k;*.udf|All Files|*.*",1) if $FileName $ = open(1,$Filename,2) if not @error $PathOpen = substr($FileName,1,instrrev($FileName,'\')-1) $ = writeprofilestring($Wordfile,"Global","PathOpen",$PathOpen) $frm.MousePointer = 11 $lblStatus1.Caption = "" $btnCopy.Enabled = 0 $btnSave.Enabled = 0 $btnClear.Enabled = 1 $txtTarget.Text = "" $txtSource.Text = "" $txtSource.BeginUpdate dim $in $nl = readline(1) while @error = 0 $in = $in + $nl + @crlf $nl = readline(1) loop $in = substr($in,1,instrrev($in,@crlf)-1) $ = close(1) $txtSource.Text = $in $txtSource.EndUpdate $frm.MousePointer = 0 $lblStatus1.Caption = " " + $FileName if $txtSource.Text $btnConvert.Enabled = 1 else $btnConvert.Enabled
_________________________
|
Top
|
|
|
|
#91816 - 2003-03-17 02:02 PM
Re: RFC: PostPrep with Resizable Form ...
|
Chris S.
MM club member
Registered: 2002-03-18
Posts: 2368
Loc: Earth
|
I would make the following change:
code:
$txtSource.Anchor = 1+2+4+8
Why not use the Color Dialog box for chosing colors for keywords? Gives the user much more flexibility in chosing colors.
You might also consider removing the "Powered by..." off of the form and onto it's own form selected from an "About" button or menu item.
|
Top
|
|
|
|
#91819 - 2003-03-17 02:24 PM
Re: RFC: PostPrep with Resizable Form ...
|
Jochen
KiX Supporter
Registered: 2000-03-17
Posts: 6380
Loc: Stuttgart, Germany
|
|
Top
|
|
|
|
#91822 - 2003-03-17 02:54 PM
Re: RFC: PostPrep with Resizable Form ...
|
Jochen
KiX Supporter
Registered: 2000-03-17
Posts: 6380
Loc: Stuttgart, Germany
|
|
Top
|
|
|
|
#91827 - 2003-03-17 06:53 PM
Re: RFC: PostPrep with Resizable Form ...
|
Jochen
KiX Supporter
Registered: 2000-03-17
Posts: 6380
Loc: Stuttgart, Germany
|
|
Top
|
|
|
|
Moderator: Shawn, ShaneEP, Ruud van Velsen, Arend_, Jochen, Radimus, Glenn Barnas, Allen, Mart
|
0 registered
and 557 anonymous users online.
|
|
|