is empty .
Code: Select all
;
Global Window_0
;
Global TopPageLabel, EditorArea, ExitBtn, HelpBtn, ColorNameBtn , LoadTemplateBtn ,
ClearEditBtn, BuildHtmlBtn, SaveHtmlBtn, ShowHtmlBtn, NumRowsStr, NumColsStr,
NoEditCkBox, EditTextCkbox, EditTxtAreaCkBox, OpenBtn, OpenFolderBtn,
FolderAddressStr$ , TestThisOnly
Global TraceON = #False , TraceValue$ , CurrentDIR$ = GetCurrentDirectory() , ReadThisFile$ , ComingFrom$
; Global HtmlNoEdit1 = "<div contenteditable="false" class="div-div">"
Global HtmlOptionValueConstant$ = ("<option value=" + #DQ$+ "yyy" + #DQ$ + ">zzz</option>")
;Global HtmlNoEdit1$ = ("<div contenteditable=" + "false" + ' class=' + ' + '> col 1 row 1</div-div>' )
;Global HtmlNoEdit1$ + "Global HtmlNoEdit1$ = ("<div contenteditable=" + #DQ$ + "false" + #DQ$ + " class=" + #DQ$ + "> col 1 row 1</div-div>" + ) " )
; MessageRequester ("Html Strings" , HtmlOptionValueConstant$ ) ;+ ( #DQ$ + Global HtmlNoEdit1$ ('<div contenteditable=' + 'false' + ' class=' + '> col 1 row 1</div-div>' )
; <div-div style="order: 1;"1</div-div>
;Global div-div$ = " <div-div style= #DQ$ order: 1; #DQ$ 1 </div-div> "
; Global TestDQ$ = (" #DQ$ + Test + $DQ$ ")
; Global TestDQ$ = ( #DQ$ + "Test" + $DQ$ ")
; Global div-div$ = " <div-div style= #DQ$ order: 1 #DQ$1 </div-div> "
;div$ = ~"<div-div style=\"order: 1;\"1</div-div>"
;div_div$ = ""
; Global HtmlYesEditText1 = '<div contenteditable="true" class="div-div">'
; Global div-div-Count-2 = 0 , div-div-End3$ = "</div>"
Global FileToOpen$ = "HtmlCssGridMaker-Template.Html" , name_html$ = "*.html"
;
Declare TestThisOnly()
Declare BuildHtml()
Declare ClearEditorArea()
Declare CloseTraceFile()
Declare ColorNameBtn()
Declare CreateExplorerBat()
Declare CreateTraceFile()
Declare EditTextCkbox()
Declare EditTxtAreaCkBox()
Declare LoadEditArea()
Declare ManageCheckBoxes()
Declare NoEditCkBox()
Declare WriteTraceLine(TraceLine$)
; Declare OpenFileBtn()
Declare SaveHtmlFile()
;
Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 600)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "Css Grid Maker", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget| #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
TestThisOnly = ButtonGadget(#PB_Any, 20, 24 , 100, 30,"Test This Only .") ; Emphasis on TEST .")
GadgetToolTip(TestThisOnly, "TEST This Procedure , EMPHASIS on TEST !")
TopPageLabel = TextGadget(#PB_Any, 90, 10, 400, 25, "Hover Over Boxes And Buttons For Info On What They Do", #PB_Text_Center)
SetGadgetColor(TopPageLabel, #PB_Gadget_FrontColor,RGB(64,0,64))
EditorArea = EditorGadget(#PB_Any, 10, 180, 580, 410)
GadgetToolTip(EditorArea, "This Is Where We Build The Html Page")
SetGadgetColor(EditorArea, #PB_Gadget_FrontColor,RGB(0,0,0))
ExitBtn = ButtonGadget(#PB_Any, 490, 20, 100, 25, "Exit")
GadgetToolTip(ExitBtn, "Click To Exit This Program , Bye Bye :)")
HelpBtn = ButtonGadget(#PB_Any, 490, 60, 100, 25, "Help")
GadgetToolTip(HelpBtn, "Click To Open The Html Help File .")
ClearEditBtn = ButtonGadget(#PB_Any, 10, 140, 100, 25, "Clear Edit Area")
GadgetToolTip(ClearEditBtn, "Ok , Lets Clear Edit Area Below ! Are You Sure ?")
BuildHtmlBtn = ButtonGadget(#PB_Any, 10, 100, 100, 25, "Build Html")
GadgetToolTip(BuildHtmlBtn, "Ok , I'm Ready , Lets Build It !")
ShowHtmlBtn = ButtonGadget(#PB_Any, 130, 100, 100, 25, "Show Html")
GadgetToolTip(ShowHtmlBtn, "Yes Please , Show Me What It Looks Like !")
FileNameStr = StringGadget(#PB_Any, 250, 78, 100, 25, "myHtml.html")
GadgetToolTip(FileNameStr, "I Like It, Here Is FileName To SAVE .")
SaveHtmlBtn = ButtonGadget(#PB_Any, 250, 100, 100, 25, "Save Html")
GadgetToolTip(SaveHtmlBtn, "Ok , It's Looking Good , Lets Save As Html File !")
ColorStr = StringGadget(#PB_Any, 370, 60, 100, 25, "")
GadgetToolTip(ColorStr, "Enter A Color Name (Not HEX Code) For Your New Html/Css/Grid File .")
ColorNameBtn = ButtonGadget(#PB_Any, 370, 38, 100, 25, "Open Color List")
GadgetToolTip(ColorNameBtn, "Save Entered Color Name .")
NumRowsStr = StringGadget(#PB_Any, 20, 60, 30, 25, "", #PB_String_Numeric)
GadgetToolTip(NumRowsStr, "Enter Number Of Rows")
SetGadgetColor(NumRowsStr, #PB_Gadget_FrontColor,RGB(64,0,64))
NumColsStr = StringGadget(#PB_Any, 75, 60, 30, 25, "", #PB_String_Numeric)
GadgetToolTip(NumColsStr, "Enter Number Of Colums .")
SetGadgetColor(NumColsStr, #PB_Gadget_FrontColor,RGB(64,0,64))
SetGadgetColor(NumColsStr, #PB_Gadget_BackColor,RGB(255,255,255))
NoEditCkBox = CheckBoxGadget(#PB_Any, 146, 60, 30, 30, "", #PB_Checkbox_Unchecked)
GadgetToolTip(NoEditCkBox, "Make Cells Plain Text Non-Editable")
EditTextCkbox = CheckBoxGadget(#PB_Any, 176, 60, 30, 25, "", #PB_Checkbox_Unchecked)
GadgetToolTip(EditTextCkbox, "Make Cells Plain Text Editable .")
EditTxtAreaCkBox = CheckBoxGadget(#PB_Any, 206, 60, 30, 30, "", #PB_Checkbox_Unchecked)
GadgetToolTip(EditTxtAreaCkBox, "Make Cells With Plain Text Editable TextArea Box .")
OpenBtn = ButtonGadget(#PB_Any, 370, 100, 100, 25, "Open File")
GadgetToolTip(OpenBtn, "Click To Open A File Into Edit Area . Open File Dialog .")
OpenFolderBtn = ButtonGadget(#PB_Any, 490, 100, 100, 25, "Open Folder")
GadgetToolTip(OpenFolderBtn, "Open The Folder Where Program And Files Reside")
FolderAddressStr = StringGadget(#PB_Any, 130, 140, 460, 25, "")
GadgetToolTip(FolderAddressStr, "This Is where This Program And Files Are Located .")
; div_div$ = ~"<div_div style=\"order: 1;\"1</div-div>"
div_div2$="<div-div style="+#DQ$+"order: 1;"+#DQ$+"1</div-div>"
MessageRequester ("Html String HtmlNoEdit1$" , div_div$ + div_div2$ )
EndProcedure
;
Procedure TestThisOnly()
; TraceON = "True"
MessageRequester("", "Entering Procedure TestThisOnly()" )
TestThisOnlyExit:
ComingFrom$ = " TestThisOnly() "
EndProcedure ; TestThisOnly()
;
Procedure NoEditCkBox()
If GetGadgetState(NoEditCkBox) = #PB_Checkbox_Checked
; MessageRequester("", "NoEditCkBox = " + GetGadgetState(NoEditCkBox) )
SetGadgetState(EditTextCkbox, #PB_Checkbox_Unchecked)
SetGadgetState(EditTxtAreaCkBox, #PB_Checkbox_Unchecked)
EndIf
EndProcedure ; NoEditCkBox()
;
Procedure EditTextCkbox()
If GetGadgetState(EditTextCkbox) = #PB_Checkbox_Checked
; MessageRequester("", "EditTextCkbox = " + GetGadgetState(EditTextCkbox) )
SetGadgetState(NoEditCkBox, #PB_Checkbox_Unchecked)
SetGadgetState(EditTxtAreaCkBox, #PB_Checkbox_Unchecked)
EndIf
EndProcedure ; EditTextCkbox()
;
Procedure EditTxtAreaCkBox()
If GetGadgetState(EditTxtAreaCkBox) = #PB_Checkbox_Checked
; MessageRequester("", "EditTxtAreaCkBox = " + GetGadgetState(EditTxtAreaCkBox) )
SetGadgetState(NoEditCkBox, #PB_Checkbox_Unchecked)
SetGadgetState(EditTextCkbox, #PB_Checkbox_Unchecked)
EndIf
EndProcedure ; EditTxtAreaCkBox()
;
Procedure CreateTraceFile() ; If TraceON :
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: CreateTraceFile() "
WriteTraceLine(TraceLIne$)
Else
MessageRequester("Information","Cannot create TraceProgram.txt file!")
EndIf
ComingFrom$ = "CreateTraceFile() "
EndProcedure ; CreateTraceFile()
;
; OpenFile(), WriteString(), WriteStringN(), ReadString(), ReadCharacter()
;
Procedure OpenFileToWrite()
If OpenFile(0, "FileToOpen") ; opens an existing file or creates one, if it does not exist yet
FileSeek(0, Lof(0)) ; jump to the end of the file (result of Lof() is used)
WriteStringN(0, "... another line at the end.")
CloseFile(0)
EndIf
EndProcedure ; OpenFileToWrite
;
Procedure ManageCheckBoxes()
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: ManageCheckBoxes() " : WriteTraceLine(TraceLIne$) : EndIf
; GetGadgetState() can be used To get the current gadget state.
; SetGadgetState() can be used To change the gadget state.
ComingFrom$ = "ManageCheckBoxes()"
EndProcedure ; ManageCheckBoxes()
;
Procedure CloseFileToWrite()
CloseFile(0)
EndProcedure ; CloseFileToWrite
;
;
Procedure CreateExplorerBat()
ExplBat$= ( "explorer.exe " + #DQ$ + CurrentDIR$ + #DQ$ )
If CreateFile(3, "OpenExpl.bat") ; Create a new .bat file...
WriteStringN(3, ExplBat$ ) ;
CloseFile(0)
Else
MessageRequester("Information","Cannot Create OpenExpl.bat !")
EndIf
EndProcedure ; CreateExplorerBat()
;
Procedure OpenToRead()
EndProcedure ; OpenToRead
;
Procedure LoadEditArea() ; initialize EditArea
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: OpenFileBtn_clicked() " : WriteTraceLine(TraceLIne$) : EndIf
ComingFrom$ = "LoadEditArea()"
EndProcedure ; LoadEditArea()
;
Procedure BuildHtml()
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: BuildHtml() " : WriteTraceLine(TraceLIne$) : EndIf
; ClearGadgetItems(TextEditor)
ComingFrom$ = "BuildHtml()"
; Check If EditArea has Data , Open New Window "Warning EditArea has X number if lines
; do BuildHtml will erase EditArea . Do you want To Continue With BuildHtml , Or Cancel
; Perhaps CLick Save Html Button , Then try BuildHtml again ."
; SO FIRST Search and Replace HtmlCssGridMaker-Template.Html
; From File to file , in this Procedure .
; GetGadgetText(OpenThisFile)
ReadThisFile$ = "HtmlCssGridMaker-Template-RO.txt" ; "Testing-123.txt" ;
; If there are zero items ReadFile ELSE CLEAR EditorArea , Then ReadFile .
If ReadFile(4, ReadThisFile$)
Repeat
HtmlLines$ = ReadString(4)
; HtmlLines$ = ReadString(4 , Format)
If HtmlLine$ = ReplaceString(HtmlLine$ , "BgColorr" , GetGadgetText(ColorStr))
EndIf
AddGadgetItem(EditorArea,-1,HtmlLines$)
Until Eof(4)
CloseFile(4)
EndIf
Goto LoadEditAreaEnd
LoadEditAreaEnd:
EndProcedure ; BuildHtml()
;
Procedure ClearEditorArea()
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: ClearTextEditor() " : WriteTraceLine(TraceLIne$) : EndIf
ClearGadgetItems(TextEditor)
ComingFrom$ = "ClearEditorBtn"
EndProcedure ; ClearTextEditor()
Procedure SaveHtmlFile() ; TextEditor
ComingFrom$ = "SaveHtmlFile()"
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: SaveHtmlFile() " : WriteTraceLine(TraceLIne$) : EndIf
; Ch If Color Is Entered , ELSE MessageRequester()
FileNameText$ = GetGadgetText(FileNameStr)
MessageRequester("(FileNameText$) = " , " FileNameText$ = " + FileNameText$ ) ; "Len(FileNameText$) = " +
MessageRequester("Len(FileNameText$) = " , "Len(FileNameText$ = " + Len(FileNameText$) ) ; "Len(FileNameText$) = " +
If FileNameText$ = ""
; If Len(FileNameText$) < 1
MessageRequester("Len(FileNameText$) = " , "Len(FileNameText$ = " + Len(FileNameText$) ) ; "Len(FileNameText$) = " +
MessageRequester("FileNameText$ = " , "Can't SAVE FILE Until You Entea A FileName .")
Goto SaveHtmlFileExit
EndIf
TextEditorItemsCOUNT = CountGadgetItems(TextEditor)
If TextEditorItemsCOUNT < 1
MessageRequester("EditorArea = " , "Nothing To SAVE In EditorArea ?")
Goto SaveHtmlFileExit
EndIf
If OpenFile(1, FileNameText$) ; If file can be created...
For k = 0 To TextEditorItemsCOUNT - 1
WriteStringN(1,GetGadgetItemText(TextEditor, #PB_Ascii ) )
Next
CloseFile(1)
Else
MessageRequester("OpenFile(1, ", "Can't Open File Listings.txt")
EndIf
SaveHtmlFileExit:
EndProcedure ; SaveHtmlFile()
;
Procedure WriteTraceLine(TraceLine$)
WriteStringN(2, TraceLIne$) ; write 1 line (each with 'end of line' character)
CreateFrom$ = " WriteTraceFile "
EndProcedure ; WriteTraceLine()
;
Procedure CloseTraceFile()
If TraceON : TraceLine$ = (ComingFrom$) + " ENTERING: CloseTraceFile() "
WriteTraceLine(TraceLIne$) : EndIf
CloseFile(2)
ComingFrom$ = "CloseTraceFile()"
EndProcedure ; CloseTraceFile()
;
CurrentPath$ = CurrentDIR$
ComingFrom$ = "Program Startup"
If TraceON : CreateTraceFile() : EndIf
OpenWindow_0()
CreateExplorerBat()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case ExitBtn
PostEvent(#PB_Event_CloseWindow)
Case HelpBtn
RunProgram("HtmlCssGridMaker-HELP-From-Komposer.html")
Case ColorNameBtn
RunProgram("HTML-Color-Names.html")
Case BuildHtmlBtn
BuildHtml()
Case TestThisOnly
TestThisOnly()
Case NoEditCkBox
NoEditCkBox()
Case EditTextCkbox
EditTextCkbox()
Case EditTxtAreaCkBox
EditTxtAreaCkBox()
; Case
Case OpenBtn ; OpenFileRequester
File$ = OpenFileRequester("PureBasic - Open", "name.html", "HTML (*.html)|*.html;*.htm|(Text (*.txt)|*.txt", 0)
If File$+File$
MessageRequester("Information", "Selected File: "+File$, 0);
EndIf
Case OpenFolderBtn
ThisDir$ = #DQ$ + CurrentDIR$ + #DQ$
; MessageRequester("ThisDir$ = " , ThisDir$)
Result = RunProgram("Explorer.exe" , ThisDir$ ,"" , 0 ) ; works fine !
; MessageRequester("RunProgram" , Str(Result))
Case SaveHtmlBtn ; SaveFileRequester
SaveHtmlFile()
EndSelect
Case #PB_Event_CloseWindow : End
EndSelect
ForEver