Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,3 @@
|
|||||||
|
cd %~dp0
|
||||||
|
"..\..\Resources\WPy64-3720\python-3.7.2.amd64\python.exe" make_ENG_Guide_2.py
|
||||||
|
pause>nul
|
@ -0,0 +1,49 @@
|
|||||||
|
import os, shutil, subprocess
|
||||||
|
|
||||||
|
# Build dir
|
||||||
|
gSourceDirAbsPathStr = os.path.abspath("")
|
||||||
|
gBuildDirAbsPathStr = os.path.abspath("..\\..\\Wiki\\ENG_Guide")
|
||||||
|
gBuildDirHTMLAbsPathStr = os.path.join(gBuildDirAbsPathStr, "html")
|
||||||
|
gBuildDirMDAbsPathStr = os.path.join(gBuildDirAbsPathStr, "markdown")
|
||||||
|
|
||||||
|
# list all dir which have img folder
|
||||||
|
# Copy to md and html
|
||||||
|
|
||||||
|
for root, subFolder, files in os.walk(os.path.abspath("")):
|
||||||
|
for item in files:
|
||||||
|
if item.endswith(".png") :
|
||||||
|
|
||||||
|
fileNamePath = str(os.path.join(root,item))
|
||||||
|
#print(fileNamePath)
|
||||||
|
lFileItemBuildDirHTMLAbsPathStr = root.replace(gSourceDirAbsPathStr, gBuildDirHTMLAbsPathStr)
|
||||||
|
lFileItemBuildHTMLAbsPathStr = str(os.path.join(lFileItemBuildDirHTMLAbsPathStr,item))
|
||||||
|
if not os.path.exists(lFileItemBuildDirHTMLAbsPathStr):
|
||||||
|
os.mkdir(lFileItemBuildDirHTMLAbsPathStr)
|
||||||
|
shutil.copy2(fileNamePath, fileNamePath.replace(gSourceDirAbsPathStr, gBuildDirHTMLAbsPathStr))
|
||||||
|
|
||||||
|
lFileItemBuildDirMDAbsPathStr = root.replace(gSourceDirAbsPathStr, gBuildDirMDAbsPathStr)
|
||||||
|
lFileItemBuildMDAbsPathStr = str(os.path.join(lFileItemBuildDirMDAbsPathStr,item))
|
||||||
|
if not os.path.exists(lFileItemBuildDirMDAbsPathStr):
|
||||||
|
os.mkdir(lFileItemBuildDirMDAbsPathStr)
|
||||||
|
shutil.copy2(fileNamePath, fileNamePath.replace(gSourceDirAbsPathStr, gBuildDirMDAbsPathStr))
|
||||||
|
|
||||||
|
|
||||||
|
# Run PDF generation
|
||||||
|
"""
|
||||||
|
gHTML2PDFPathList = [
|
||||||
|
"index.html",
|
||||||
|
"01_HowToInstall.html",
|
||||||
|
"02_RoadMap.html",
|
||||||
|
"03_Copyrights_Contacts.html"
|
||||||
|
]
|
||||||
|
gWKHTMLtoPDFPath = "..\\..\\Resources\\wkhtmltopdf\\bin\\wkhtmltopdf.exe"
|
||||||
|
gCMDRunStr = f'{os.path.abspath(gWKHTMLtoPDFPath)} --javascript-delay 5000 --load-error-handling ignore --enable-local-file-access '
|
||||||
|
gPDFOutputAbsPath = os.path.join(gBuildDirAbsPathStr, "pyOpenRPA_Guide_ENG.pdf")
|
||||||
|
for lItemStr in gHTML2PDFPathList:
|
||||||
|
gCMDRunStr += f' {os.path.join(gBuildDirHTMLAbsPathStr, lItemStr)} '
|
||||||
|
|
||||||
|
gCMDRunStr += f' "{gPDFOutputAbsPath}" '
|
||||||
|
#os.system("cmd /c "+gCMDRunStr)
|
||||||
|
subprocess.call(gCMDRunStr.split(" "), shell=True)
|
||||||
|
print(gCMDRunStr)
|
||||||
|
"""
|
@ -1,60 +0,0 @@
|
|||||||
# Content
|
|
||||||
- [How to run](#how-to-run)
|
|
||||||
- [UI Description](#ui-description)
|
|
||||||
- [How to extract UI tree](#how-to-extract-ui-tree)
|
|
||||||
- [How to search UI object by mouse hover](#how-to-search-ui-object-by-mouse-hover)
|
|
||||||
- [How to extract UI object properties](#how-to-extract-ui-object-properties)
|
|
||||||
|
|
||||||
# How to run
|
|
||||||
- For OS x32
|
|
||||||
- Run (double click): OpenRPA\Studio\StudioRun_32.cmd (for OS x32)
|
|
||||||
- For OS x64
|
|
||||||
- Run (double click): OpenRPA\Studio\StudioRun_64.cmd (for OS x64)
|
|
||||||
- Wait text "running server" in console. Default browser will be open automatically
|
|
||||||
- **Attention!** The studio tool does not support the Internet explorer (any version) for GUI rendering (lol)
|
|
||||||
![image](uploads/504b98f76747f63900a2943532a946bb/image.png)
|
|
||||||
|
|
||||||
# UI Description
|
|
||||||
|
|
||||||
**The studio tool GUI contains of:**
|
|
||||||
- 1. UI tree viewer
|
|
||||||
- 2. Selected UI object hierarchy list
|
|
||||||
- 3. Selected UI object property list
|
|
||||||
- 4. UIO selector editor
|
|
||||||
- 5. UIO action panel
|
|
||||||
- 6. Another Python activity panel
|
|
||||||
- 7. Action/activity list
|
|
||||||
|
|
||||||
*Look it on the GUI screenshots are listed below*
|
|
||||||
|
|
||||||
## GUI Screenshot 1
|
|
||||||
![image](uploads/d3d6ad14a7e50843bd89d2b14a092fee/image.png)
|
|
||||||
|
|
||||||
## GUI Screenshot 2
|
|
||||||
![image](uploads/65b7d51c0a5b21e6b27dc23d4062d3ca/image.png)
|
|
||||||
|
|
||||||
# How to extract UI tree
|
|
||||||
In order to extract the UI tree do the following: in `UI tree viewer` choose the object you are interested and click the button "Expand".
|
|
||||||
## Action: Click the button "Expand"
|
|
||||||
![image](uploads/6effc376ff6ea928840674bd744caced/image.png)
|
|
||||||
## Result
|
|
||||||
![image](uploads/18b9ab36126c8c32168bf5bbb9330701/image.png)
|
|
||||||
# How to search UI object by mouse hover
|
|
||||||
In order to search UI object do the following: in `UI tree viewer` choose the parent object, where you are want to search UI object, and click the button "Mouse search". The mouse search mode will start. Turn mouse on the UI object you are interested and wait when the studio will highlight the UI object. After the hightlight hold the "Ctrl" key and wait 3 seconds. The interested UI object will be shown in `UI tree viewer`.
|
|
||||||
|
|
||||||
## Action: Click the button "Mouse search"
|
|
||||||
![image](uploads/84d7e4de0c840631f87cf7b325b53ad8/image.png)
|
|
||||||
|
|
||||||
## Action: Turn mouse on the UI object you are interested and hold the "Ctrl" key for 3 seconds
|
|
||||||
![image](uploads/b7c38d622bf5b7afa5b26d1686d7302a/image.png)
|
|
||||||
|
|
||||||
## Result: The interested UI object will be shown in `UI tree viewer`
|
|
||||||
![image](uploads/629bbf4db2c01b9c640194230949fcd2/image.png)
|
|
||||||
|
|
||||||
# How to extract UI object properties
|
|
||||||
In order to extract UI object properties do the following: in `Selected UI object hierarchy list` choose the UI object you are interested and click it. The UI object property list will be shown in `Selected UI object property list`
|
|
||||||
## Action: Choose the UI object you are interested and click it
|
|
||||||
![image](uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png)
|
|
||||||
|
|
||||||
## Result: The UI object property list will be shown in `Selected UI object property list`
|
|
||||||
![image](uploads/f235ae29099a713e0246cd574ac3a17c/image.png)
|
|
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 15 KiB |