; ============================================================ ;
; FileLispManager.lsp v1.00 (XX-XX-2011) /by kruuger/ ;
; Included subroutine: ;
; LM: -> by Lee Mac (http://lee-mac.com/) ;
; ============================================================ ;
; ;
; History of changes: ;
; ------------------- ;
; 0.01 [06-17-2011] - test 1 ;
; 0.02 [06-25-2011] - test 2 ;
; ============================================================ ;
(vl-load-com)
; ============================================================ ;
; FUNCTION SYNTAX: ;
; - FLM - file lisp manager dialog ;
; - FLMP - search path dialog ;
; - FLMC - configuration dialog ;
; ============================================================ ;

; ============================================================ ;
; Global Variable: ;
; ============================================================ ;
(setq *FLM_Global*
(list
"0.01" ;;; Version
"Kruuger_Cad.pl\\FLM" ;;; Registry Path
)
)
; ============================================================ ;
(defun c:FLM ()
(kr:FLM_FileLispManagerRegApp)
(if (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Path file" nil)
(kr:FLM_FileLispManagerDialog)
(progn
(alert "Please use configuration dialog to set up all necessary settings.")
(kr:FLM_ConfigurationDialog 1)
)
)
(princ)
)
; ============================================================ ;
(defun c:FLMP ()
(kr:FLM_FileLispManagerRegApp)
(if (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Path file" nil)
(kr:FLM_SearchPathDialog nil)
(progn
(alert "Please use configuration dialog to set up all necessary settings.")
(kr:FLM_ConfigurationDialog 2)
)
)
(princ)
)
; ============================================================ ;
(defun c:FLMC ()
(kr:FLM_FileLispManagerRegApp)
(kr:FLM_ConfigurationDialog 0)
(princ)
)

; ============================================================ ;
; File lisp manager dialog ;
; ============================================================ ;
(defun kr:FLM_FileLispManagerDialog (/ DCL DCL_POS ACT FL EX EXT
*PATH_LST *LSTBOX_POS
*FI_DESCR
*FI_TYPE *FI_TYPE_POS
*FI_GROUP *FI_GROUP_POS
*FI_AUTHOR *FI_AUTHOR_POS
*SORT_BY *SORT_ORDER
*FLM_LST
)
(setq DCL (load_dialog "FileLispManager.dcl"))
(if (zerop (setq EX (atoi (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Extended dialog" nil))))
(setq EXT "FLM_EXT")
(setq EXT "FLM")
)
(if
(not
(new_dialog EXT DCL ""
(cond
( (kr:DLG_Value->List (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Dialog position" nil)))
( '(-1 -1) )
)
)
)
(alert "FileLispManager.dcl file not found")
(progn
(set_tile "FLM" (strcat "File Lisp Manager v" (car *FLM_Global*)))
(foreach % (list "EDIT" "LOAD" "FIND" "WWW" "FI_SHORT" "FI_GROUP" "FI_AUTHOR")
(mode_tile % 1)
)
(if (setq FL (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Path file" nil))
(setq *PATH_LST (kr:SYS_ReadFromFile FL))
)
(set_tile "FI_DESCR"
(setq *FI_DESCR (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter description" nil))
)
(kr:DLG_SetTileList "FI_TYPE"
(setq *FI_TYPE
(kr:LST_InsertItem 0 "*"
(LM:str->lst (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Files of type" nil) ";")
)
)
(setq *FI_TYPE_POS "0")
)
(kr:DLG_SetTileList "FI_GROUP"
(setq *FI_GROUP (list "*"))
(setq *FI_GROUP_POS "0")
)
(kr:DLG_SetTileList "FI_AUTHOR"
(setq *FI_AUTHOR (list "*"))
(setq *FI_AUTHOR_POS "0")
)
(kr:DLG_SetTileList "SORT_BY"
(list "Description" "Date")
(setq *SORT_BY (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort by" nil))
)
(set_tile "SORT_ORDER"
(setq *SORT_ORDER (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort order" nil))
)

(setq *LSTBOX_POS "0")
(kr:FLM_UpdateFileLispManagerList)
(kr:FLM_FileLispManagerFillFileInformation)
(kr:FLM_ExtendedArrows EX)
(action_tile "LSTBOX"
(vl-Prin1-To-String
(quote
(progn
(setq *LSTBOX_POS $value)
(kr:FLM_FileLispManagerFillFileInformation)
)
)
)
)
(action_tile "EXT"
(vl-Prin1-To-String
(quote
(progn
(kr:FLM_ExtendedArrows (setq EX (abs (1- EX))))
(setq DCL_POS (done_dialog 2))
)
)
)
)
(action_tile "FI_DESCR"
(vl-Prin1-To-String
(quote
(progn
(setq *FI_DESCR $value)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter description" *FI_DESCR)
(kr:FLM_UpdateFileLispManagerList)
(kr:FLM_FileLispManagerFillFileInformation)
)
)
)
)
(action_tile "FI_TYPE"
(vl-Prin1-To-String
(quote
(progn
(setq *FI_TYPE_POS $value)
(setq *LSTBOX_POS "0")
(kr:FLM_UpdateFileLispManagerList)
(kr:FLM_FileLispManagerFillFileInformation)
)
)
)
)
(action_tile "FI_GROUP"
(vl-Prin1-To-String
(quote
(progn
(setq *FI_GROUP_POS $value)
(kr:FLM_UpdateFileLispManagerList)
)
)
)
)
(action_tile "FI_AUTHOR"
(vl-Prin1-To-String
(quote
(progn
(setq *FI_AUTHOR_POS $value)
(kr:FLM_UpdateFileLispManagerList)
)
)
)
)
(action_tile "SORT_BY"
(vl-Prin1-To-String
(quote
(progn
(setq *SORT_BY $value)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort by" *SORT_BY)
(kr:FLM_UpdateFileLispManagerList)
)
)
)
)
(action_tile "SORT_ORDER"
(vl-Prin1-To-String
(quote
(progn
(setq *SORT_ORDER $value)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort order" *SORT_ORDER)
(kr:FLM_UpdateFileLispManagerList)
)
)
)
)
(action_tile "OPEN" "(LM:Open (caddr (nth (atoi *LSTBOX_POS) *FLM_LST))))")
(action_tile "SEARCH" "(setq DCL_POS (done_dialog 3))")
(action_tile "CONFIG" "(setq DCL_POS (done_dialog 4)))")
(action_tile "CLOSE" "(setq DCL_POS (done_dialog 0))")
(setq ACT (start_dialog))
(unload_dialog DCL)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Dialog position" (kr:DLG_List->Value DCL_POS))
(cond
( (= ACT 2)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Extended dialog" (itoa EX))
(kr:FLM_FileLispManagerDialog)
)
( (= ACT 3)
(kr:FLM_SearchPathDialog T)
)
( (= ACT 4)
(kr:FLM_ConfigurationDialog 1)
)
)
)
)
)
; ============================================================ ;
; Update file lisp manager list_box ;
; ============================================================ ;
(defun kr:FLM_UpdateFileLispManagerList ()
(kr:DLG_SetTileList "LSTBOX"
(mapcar
'(lambda (%)
(strcat "\t\t" %)
)
(mapcar 'cadr (setq *FLM_LST (kr:FLM_FileLispManagerSortData)))
)
*LSTBOX_POS
)
)
; ============================================================ ;
; Create data ;
; ============================================================ ;
(defun kr:FLM_FileLispManagerCreateData (/ FLS LST NAME)
(foreach %Ext% (LM:str->lst (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Files of type" nil) ";")
(foreach %Path% *PATH_LST
(if (setq FLS (vl-Directory-Files (strcat %Path% "\\\\") (strcat "*." %Ext%) 1))
(mapcar
'(lambda (%Fl%)
(setq LST
(append LST
(list
(list
%Ext% ;; Extension
%Fl% ;; File name
(setq NAME (strcat %Path% "\\" %Fl%)) ;; File path
(kr:FLM_FileLispManagerGetFileDate Name) ;; File date
)
)
)
)
)
FLS
)
)
)
)
LST
)
; ============================================================ ;
; Sort data ;
; ============================================================ ;
(defun kr:FLM_FileLispManagerSortData (/ S)
(if (zerop (atoi *SORT_ORDER))
(setq S )
)
(vl-Sort (kr:FLM_FileLispManagerFilterData)
'(lambda (%1 %2)
(cond
( (zerop (atoi *SORT_BY))
(S (strcase (caddr %1)) (strcase (caddr %2)))
)
( (= (atoi *SORT_BY) 1)
(S (cadddr %1) (cadddr %2))
)
)
)
)
)
; =============================================================;
; Filter data ;
; =============================================================;
(defun kr:FLM_FileLispManagerFilterData ()
(vl-Remove-If
'(lambda (%)
(or
(not (wcmatch (strcase (car %)) (strcase (nth (atoi *FI_TYPE_POS) *FI_TYPE))))
(not (wcmatch (strcase (cadr %)) (strcase *FI_DESCR)))
)
)
(kr:FLM_FileLispManagerCreateData)
)
)
; =============================================================;
; Fill file information ;
; =============================================================;
(defun kr:FLM_FileLispManagerFillFileInformation ()
(if *FLM_LST
(progn
(set_tile "NAME" (caddr (nth (atoi *LSTBOX_POS) *FLM_LST)))
(set_tile "TYPE" (strcase (car (nth (atoi *LSTBOX_POS) *FLM_LST))))
(set_tile "DATE" (cadddr (nth (atoi *LSTBOX_POS) *FLM_LST)))
)
(foreach % (list "NAME" "TYPE" "DATE")
(set_tile % "")
)
)
)
; =============================================================;
; Get file date ;
; =============================================================;
(defun kr:FLM_FileLispManagerGetFileDate (Name / FT MM DD YY)
(setq FT (vl-File-SysTime Name)
MM (itoa (cadr FT))
DD (itoa (cadddr FT))
YY (itoa (car FT))
)
(strcat YY "-" MM "-" DD)
)
; ============================================================ ;
; Search path dialog ;
; ============================================================ ;
(defun kr:FLM_SearchPathDialog (Mode / DCL ACT FL *PATH_POS *PATH_LST)
(setq DCL (load_dialog "FileLispManager.dcl"))
(if (not (new_dialog "PATH" DCL))
(alert "FileLispManager.dcl file not found")
(progn
(if (setq FL (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Path file" nil))
(setq *PATH_LST (kr:SYS_ReadFromFile FL))
)
(if *PATH_LST (setq *PATH_POS "0"))
(kr:FLM_UpdateSearchPathList)
(action_tile "PATH"
(vl-Prin1-To-String
(quote
(progn
(setq *PATH_POS $value)
(kr:FLM_SetSearchPathDialogControls)
)
)
)
)
(foreach % (list "TOP" "UP" "DOWN" "BOTTOM" "DELETE" "ADD" "REMOVE")
(action_tile %
(vl-Prin1-To-String
(quote
(progn
(kr:FLM_SearchPathButtonsAction $key)
)
)
)
)
)
(action_tile "CANCEL" "(done_dialog 0)")
(action_tile "SAVE" "(done_dialog 1)")
(setq ACT (start_dialog))
(unload_dialog DCL)
(cond
( (zerop ACT)
(if Mode
(kr:FLM_FileLispManagerDialog)
(princ "\n>> Search path not changed. <> Search path successfully saved to file. <str
(vl-Sort (vl-Remove "" (LM:str->lst $value ";")) '> Configuration settings not changed <> Configuration settings successfully saved. <<")
)
)
)
(cond
( (= Mode 1)
(kr:FLM_FileLispManagerDialog)
)
( (= Mode 2)
(kr:FLM_SearchPathDialog nil)
)
)
)
)
)
; ============================================================ ;
; Configuration set dialog controls ;
; ============================================================ ;
(defun kr:FLM_ConfigurationDialogControls ()
(if (not *TYPES)
(mode_tile "SAVE" 1)
(mode_tile "SAVE" 0)
)
(if (not *FL)
(progn
(mode_tile "SAVE" 1)
(set_tile "PATH" "...")
)
(progn
(set_tile "PATH" *FL)
(if *TYPES
(mode_tile "SAVE" 0)
)
)
)
)
; ============================================================ ;
; Check (and create) default FLM settings at registry ;
; ============================================================ ;
(defun kr:FLM_FileLispManagerRegApp (/ L)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Extended dialog" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Extended dialog" "0")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter description" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter description" "*")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Files of type" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Files of type" "arx;dll;fas;lsp;vlx")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter type" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter type" "*")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter group" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter group" "*")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter author" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Filter author" "*")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort by" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort by" "0")
)
(or
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort order" nil)
(kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Sort order" "0")
)
(if
(or
(not (kr:SYS_ReadWriteReg (cadr *FLM_Global*) "Version" nil))
(Value (Lst)
(vl-String-Trim "()" (vl-Princ-To-String Lst))
)
; =============================================================;
; Sets a dialog "popup_list" or "list_box" tile to a list ;
; Key [STR] - key name of tile ;
; Lst [STR] - list to set in tile ;
; Pos [STR] - a list of items selected ;
; =============================================================;
(defun kr:DLG_SetTileList (Key Lst Pos)
(start_list Key)
(mapcar 'add_list Lst)
(end_list)
(if
(and
Pos
(= (type Pos) 'STR)
)
(set_tile Key Pos)
)
)
; ============================================================ ;
; Convert list_box/popup_list values to list ;
; ============================================================ ;
(defun kr:DLG_Value->List (Val)
(if Val
(read (strcat "(" Val ")"))
nil
)
)
; ============================================================ ;
; Insert a new item value in list ;
; Pos [INT] - new item position ;
; Val [STR] - new item value ;
; Lst [LIST] - list to proceed ;
; ============================================================ ;
(defun kr:LST_InsertItem (Pos Val Lst / TMP)
(if (< -1 Pos (1+ (length Lst)))
(progn
(repeat Pos
(setq TMP (cons (car Lst) TMP)
Lst (cdr Lst)
)
)
(append (reverse TMP) (list Val) Lst)
)
Lst
)
)
; ============================================================ ;
; Move list item to the 0th position ;
; Item [INT] - item to move to top ;
; Lst [LIST] - list to proceed ;
; ============================================================ ;
(defun kr:LST_MoveItemToTop (Item Lst)
(cond
(
(or
(= Item (length Lst))
)
Lst
)
( (append
(list (nth Item Lst))
(kr:LST_RemoveItem Item Lst)
)
)
)
)
; ============================================================ ;
; Move list item one position up ;
; Item [INT] - item to move up ;
; Lst [LIST] - list to proceed ;
; ============================================================ ;
(defun kr:LST_MoveItemUp (Item Lst / X)
(setq X -1)
(cond
(
(or
(zerop Item)
(>= Item (length Lst))
)
Lst
)
( (mapcar
'(lambda (%)
(setq X (1+ X))
(cond
( (eq X (1- Item))
(nth Item Lst)
)
( (eq X Item)
(nth (1- Item) Lst)
)
(%)
)
)
Lst
)
)
)
)
; ============================================================ ;
; Move list item one position down ;
; Item [INT] - item to move down ;
; Lst [LIST] - list to proceed ;
; ============================================================ ;
(defun kr:LST_MoveItemDown (Item Lst / X)
(setq X -1)
(cond
( (eq (1- (length Lst)) Item)
Lst
)
( (mapcar
'(lambda (%)
(setq X (1+ X))
(cond
( (eq X Item)
(nth (1+ Item) Lst)
)
( (eq X (1+ Item))
(nth Item Lst)
)
(%)
)
)
Lst
)
)
)
)
; ============================================================ ;
; Move list item to the last position ;
; Item [INT] - item to move to bottom ;
; Lst [LIST] - list to proceed ;
; ============================================================ ;
(defun kr:LST_MoveItemToBottom (Item Lst)
(cond
( (eq (1- (length Lst)) Item)
Lst
)
( (append
(kr:LST_RemoveItem Item Lst)
(list (nth Item Lst))
)
)
)
)
; ============================================================ ;
; Remove item from list ;
; Item [INT] - item to remove ;
; Lst [LIST] - list to proceed ;
; ============================================================ ;
(defun kr:LST_RemoveItem (Item Lst / X)
(setq X -1)
(vl-Remove-If
'(lambda (%)
(eq Item (setq X (1+ X)))
)
Lst
)
)
; ============================================================ ;
; Read data from file ;
; File [STR] - file name ;
; ============================================================ ;
(defun kr:SYS_ReadFromFile ($File / PATH FL L LST)
(if (setq PATH (findfile $File))
(if
(and
(setq FL (open Path "r"))
(eq (type FL) 'FILE)
)
(progn
(setq L "")
(while (/= L :EOF)
(setq LST (cons (setq L (read-line FL)) LST))
)
(close FL)
(reverse (cdr LST))
)
)
)
)
; ============================================================ ;
; Read/Write to registry ;
; Path [STR] - application path ;
; Key [STR] - application key ;
; Val [STR] - application key value ;
; ============================================================ ;
(defun kr:SYS_ReadWriteReg (Path Key Val / LOC)
(setq LOC (strcat "HKEY_CURRENT_USER\\Software\\" Path))
(cond
( (and Key Val)
(vl-registry-write LOC Key Val)
)
( Val
(vl-registry-write LOC nil Val)
)
( T
(vl-registry-read LOC Key)
)
)
)
; ============================================================ ;
; Write data to file ;
; Path [STR] - file path ;
; In [LST] - list to save ;
; ============================================================ ;
(defun kr:SYS_WriteToFile (Path In / FL)
(if
(and
(setq FL (open Path "w"))
(eq (type FL) 'FILE)
)
(progn
(foreach % In
(write-line % FL)
)
(close FL)
T
)
nil
)
)

; ************************************************************ ;
; LIBRARY FUNCTION / by Lee Mac http://www.lee-mac.com / ;
; ************************************************************ ;

;;-------------------=={ Directory Dialog }==-----------------;;
;; ;;
;; Displays a dialog prompting the user to select a folder ;;
;;------------------------------------------------------------;;
;; Author: Lee Mac, Copyright Š 2011 - http://www.lee-mac.com ;;
;;------------------------------------------------------------;;
;; Arguments: ;;
;; msg - message to display at top of dialog ;;
;; dir - root directory (or nil) ;;
;; flag - bit coded flag specifying dialog display settings ;;
;;------------------------------------------------------------;;
;; Returns: Selected folder filepath, else nil ;;
;;------------------------------------------------------------;;
(defun LM:DirectoryDialog ( msg dir flag / Shell Fold Self Path )
(vl-catch-all-apply
(function
(lambda ( / ac HWND )
(if
(setq Shell (vla-getInterfaceObject (setq ac (vlax-get-acad-object)) "Shell.Application")
HWND (vl-catch-all-apply 'vla-get-HWND (list ac))
Fold (vlax-invoke-method Shell 'BrowseForFolder (if (vl-catch-all-error-p HWND) 0 HWND) msg flag dir)
)
(setq Self (vlax-get-property Fold 'Self)
Path (vlax-get-property Self 'Path)
Path (vl-string-right-trim "\\" (vl-string-translate "/" "\\" Path))
)
)
)
)
)
(if Self (vlax-release-object Self))
(if Fold (vlax-release-object Fold))
(if Shell (vlax-release-object Shell))
Path
)
;;-------------------=={ List to String }==-------------------;;
;; ;;
;; Constructs a string from a list of strings separating ;;
;; each element by a specified delimiter ;;
;;------------------------------------------------------------;;
;; Author: Lee Mac, Copyright Š 2010 - http://www.lee-mac.com ;;
;;------------------------------------------------------------;;
;; Arguments: ;;
;; lst - a list of strings to process ;;
;; del - delimiter by which to separate each list element ;;
;;------------------------------------------------------------;;
;; Returns: String containing each string in the list ;;
;;------------------------------------------------------------;;
(defun LM:lst->str ( lst del )
;; Š Lee Mac 2010
(if (cdr lst)
(strcat (car lst) del (LM:lst->str (cdr lst) del))
(car lst)
)
)
;;------------------------=={ Open }==------------------------;;
;; ;;
;; Uses the 'Open' method of the Shell Object to open the ;;
;; specified file or folder. ;;
;;------------------------------------------------------------;;
;; Author: Lee Mac, Copyright Š 2010 - http://www.lee-mac.com ;;
;;------------------------------------------------------------;;
;; Arguments: ;;
;; target - filename, directory or ;;
;; ShellSpecialFolderConstants Enumeration to open ;;
;;------------------------------------------------------------;;
;; Returns: T if opened successfully, else nil ;;
;;------------------------------------------------------------;;
(defun LM:Open ( target / Shell result ) (vl-load-com)
(setq Shell (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application"))
(setq result
(and (or (eq 'INT (type target)) (setq target (findfile target)))
(not
(vl-catch-all-error-p
(vl-catch-all-apply 'vlax-invoke (list Shell 'Open target))
)
)
)
)
(vlax-release-object Shell)
result
)
;;-------------------=={ String to List }==-------------------;;
;; ;;
;; Separates a string into a list of strings using a ;;
;; specified delimiter string ;;
;;------------------------------------------------------------;;
;; Author: Lee Mac, Copyright Š 2010 - http://www.lee-mac.com ;;
;;------------------------------------------------------------;;
;; Arguments: ;;
;; str - string to process ;;
;; del - delimiter by which to separate the string ;;
;;------------------------------------------------------------;;
;; Returns: A list of strings ;;
;;------------------------------------------------------------;;
(defun LM:str->lst ( str del / pos ) (vl-load-com)
;; Š Lee Mac 2010
(if (setq pos (vl-string-search del str))
(cons (substr str 1 pos) (LM:str->lst (substr str (+ pos 1 (strlen del))) del))
(list str)
)
)

(kr:FLM_FileLispManagerRegApp)
(princ "\n** Loaded FileLispManager.lsp (06-2011) /by kruuger/. **")
(princ "\n** Type FLM, FLMP, FLMC to invoke. **")
(princ)

******** FileLispManager.dcl *********
//===================================//
// MAIN_DIALOG //
//===================================//
FLM : dialog {
key = “FLM”;
AUTOLISP;
: row {
width = 80;
fixed_width = true;
FILE_INFORMATION;
BUTTONS_INFO;
IMAGE_EXTEND;
}
}
FLM_EXT : dialog {
key = “FLM”;
: row {
: column {
AUTOLISP;
: row {
width = 80;
fixed_width = true;
FILE_INFORMATION;
BUTTONS_INFO;
IMAGE_EXTEND;
}
}
: column {
alignment = top;
fixed_height = true;
FILTER;
SORT_BY;
spacer;
: column {
alignment = centered;
fixed_width = true;
: BUTTONS {
key = “SEARCH”;
label = “Search path”;
mnemonic = “F”;
width = 20;
}
: BUTTONS {
key = “CONFIG”;
label = “Configuration”;
mnemonic = “n”;
width = 20;
}
}
}
}
}
//===================================//
// SUB_DIALOG_FUNCTION //
//===================================//
BUTTONS
: button {
width = 12.5;
fixed_width = true;
fixed_height = true;
vertical_margin = none;
}
AUTOLISP
: boxed_column {
label = “Autolisp programs:”;
height = 16;
: column {
alignment = top;
fixed_height = true;
IMAGE_STRIP_HEADER;
: list_box {
list = “\tShortcuts\tDescription”;
height = 2;
tabs = “0 12”;
is_enabled = false;
vertical_margin = none;
}
IMAGE_STRIP_HEADER;
: list_box {
key = “LSTBOX”;
height = 15;
tabs = “0 12”;
vertical_margin = none;
}
}
}
FILE_INFORMATION
: boxed_row {
label = “File information:”;
: row {
: column {
width = 10;
fixed_width = true;
: text { label = “Name:”; }
: text { label = “Type:”; }
: text { label = “Data:”; }
: text { label = “Group:”; }
: text { label = “Loaded:”; }
: text { label = “Author:”; }
: text { label = “Www:”; }
}
: column {
width = 55;
fixed_width = true;
: text {
key = “NAME”;
}
: text {
key = “TYPE”;
}
: text {
key = “DATE”;
}
: text {
key = “GROUP”;
}
: text {
key = “LOADED”;
}
: text {
key = “AUTHOR”;
}
: text {
key = “HTTP”;
}
}
}
}
SORT_BY
: boxed_column {
label = “Sort by:”;
width = 20;
: popup_list {
key = “SORT_BY”;
}
: IMAGE_STRIP { color = 4; }
: radio_column {
key = “SORT_ORDER”;
: radio_button {
key = “0”;
label = “Ascending”;
mnemonic = “A”;
}
: radio_button {
key = “1”;
label = “Descending”;
mnemonic = “g”;
}
}
}
FILTER
: boxed_column {
label = “Filter by:”;
width = 20;
height = 16;
: column {
: text { label = “Shortcut:”; }
: edit_box {
key = “FI_SHORT”;
vertical_margin = none;
}
}
//: IMAGE_STRIP { color = 15; }
: column {
: text { label = “Description:”; }
: edit_box {
key = “FI_DESCR”;
vertical_margin = none;
}
}
//: IMAGE_STRIP { color = 15; }
: column {
: text { label = “Type:”; }
: popup_list {
key = “FI_TYPE”;
vertical_margin = none;
}
}
: IMAGE_STRIP { color = 3; }
: column {
: text { label = “Group:”; }
: popup_list {
key = “FI_GROUP”;
vertical_margin = none;
}
}
: IMAGE_STRIP { color = 3; }
: column {
: text { label = “Author:”; }
: popup_list {
key = “FI_AUTHOR”;
vertical_margin = none;
}
}
: IMAGE_STRIP { color = 3; }
spacer;
}
BUTTONS_INFO
: column {
alignment = centered;
fixed_height = true;
: BUTTONS {
key = “EDIT”;
label = “Edit”;
mnemonic = “E”;
}
: BUTTONS {
key = “OPEN”;
label = “Open”;
mnemonic = “O”;
}
: BUTTONS {
key = “LOAD”;
label = “Load”;
mnemonic = “L”;
}
: BUTTONS {
key = “FIND”;
label = “Find”;
mnemonic = “F”;
}
: BUTTONS {
key = “WWW”;
label = “Www”;
mnemonic = “W”;
}
: spacer { height = 0.35; }
: BUTTONS {
key = “CLOSE”;
label = “Close”;
mnemonic = “C”;
is_cancel = true;
}
}
EDIT_BOX_TYP
: edit_box {
edit_width = 15;
}
IMAGE_EXTEND
: image_button {
key = “EXT”;
alignment = centered;
width = 2;
height = 11;
fixed_height = true;
color = dialog_background;
}
IMAGE_STRIP
: image {
vertical_margin = none;
width = 20;
height = 0.1;
color = 3;
}
IMAGE_STRIP_HEADER
: image {
width = 80;
height = 0.15;
color = 15;
vertical_margin = none;
}
//===================================//
// CONFIG_MAIN_DIALOG //
//===================================//
CONF : dialog {
label = “Configuration”;
width = 80;
: boxed_column {
label = “Search path storage file:”;
: row {
: text {
key = “PATH”;
}
: row {
alignment = right;
fixed_width = true;
: BUTTONS {
key = “NEW”;
label = “New”;
mnemonic = “N”;
}
: BUTTONS {
key = “USER”;
label = “User”;
mnemonic = “U”;
}
}
}
spacer;
}
: boxed_column {
label = “Search for files:”;
: row {
: edit_box {
key = “TYPES”;
}
: BUTTONS {
key = “DEFAULT”;
label = “Default”;
mnemonic = “D”;
}
}
spacer;
}
: row {
alignment = centered;
fixed_width = true;
: BUTTONS {
key = “SAVE”;
label = “Save”;
mnemonic = “S”;
is_default = true;
}
: BUTTONS {
key = “CANCEL”;
label = “Cancel”;
mnemonic = “C”;
is_cancel = true;
}
}
}
//===================================//
// PATH_MAIN_DIALOG //
//===================================//
PATH : dialog {
label = “Search path”;
width = 80;
: row {
: column {
: list_box {
key = “PATH”;
height = 17;
}
: text {
key = “ALERT”;
label = “Click \”Add…\” button to add search path folder.”;
}
}
BUTTON_EDIT;
}
}
//===================================//
// PATH_SUB_DIALOG_FUNCTION //
//===================================//
BUTTON_EDIT
: column {
alignment = top;
fixed_height = true;
fixed_width = true;
spacer;
: BUTTONS {
key = “TOP”;
label = “Top”;
mnemonic = “T”;
}
: BUTTONS {
key = “UP”;
label = “Up”;
mnemonic = “U”;
}
: BUTTONS {
key = “DOWN”;
label = “Down”;
mnemonic = “D”;
}
: BUTTONS {
key = “BOTTOM”;
label = “Bottom”;
mnemonic = “B”;
}
: spacer {
height = 0.25;
}
BUTTON_REM_ADD;
: spacer {
height = 0.25;
}
BUTTON_OK_CANCEL;
}
BUTTON_REM_ADD
: column {
alignment = centered;
fixed_width = true;
: BUTTONS {
key = “ADD”;
label = “Add…”;
mnemonic = “A”;
}
: BUTTONS {
key = “REMOVE”;
label = “Remove”;
mnemonic = “R”;
}
}
BUTTON_OK_CANCEL
: column {
alignment = centered;
fixed_width = true;
: BUTTONS {
key = “CANCEL”;
label = “Cancel”;
mnemonic = “C”;
is_cancel = true;
}
: BUTTONS {
key = “SAVE”;
label = “Save”;
mnemonic = “S”;
is_default = true;
}
}

Advertisements