Phân loại các ttile

Một phần của tài liệu Tìm hiểu ngôn ngữ AutoLISPVàỨng dụng trong AutoCAD (Trang 34)

2. Giới thiệu chung

3.9.2.Phân loại các ttile

Các thuộc tính sử dụng để xác định hình dạng, kích thước, vị trí của các tile. Một số thuộc tính sử dụng được cho nhiều tile, một số thuộc tính chỉ sử dụng riêng cho một tile.

Các thuộc tính của các tile có thể là: action, alignment, allow_aceept, color,

edit_limit, height, key, layout…(tham khảo thêm ở [2]). 3.9.2.1 Các Active tile

α. Dialog

Dialog là tile sử dụng để mô tả bản thân hộp thoại. Các tile con của dialog được sắp xếp thành một cốt theo thứ tự từ trên xuống

: dialog {

init_focus label value key

}

init_focus: tên tile được nhận con trỏ khi hộp thoại xuất hiện. label : tiêu đề của hộp thoại

value : tiêu đề của hộp thoại. Thường được sử dụng trong thời gian chạy .

β. Button

Nút lệnh, có hình dạng nút nhấn. Khi người sử dụng nhấn vào nút này, nó sẽ thực hiện một chức năng được liên kết với nó. Mỗi hộp thoại phải có ít nhất một button để đóng hộp thoại.

: button {

action alignment fixed_hieght fixed_width height is_cancel is_default is_enable key is_tabstop label mnemonic width

}

χ. Edit box

Edit_box cho phép người dùng nhập và sửa nội dung của chuỗi xuất hiện trên hộp thoại.

: edit_box {

action alignment allow_accept fixed_height edit_limit edit_width fixed_width height is_enable is_tab_stop key label mnemonic

}

trong đó:

label: tiêu đề của edit_box

value: chuỗi xác định giá trị mặc định ban đầu của edit_box .

δ. Image button

Image_button hiển thị hình ảnh và hoạt động giống button. Hình ảnh sử dụng có thể là một slide của AutoCAD hoặc là các vector. Ta có thể xác thực được toạ độ điểm chọn trên hình ảnh, nhờ đó mà thực hiện các lệnh thích hợp. Các thuộc tính chiều cao và chiều rộng bắt buộc phải có hoặc thông qua tỉ lệ giữa chúng aspect_ratio.

: image_button {

action alignment allow_accept aspect_ratio color fixed_height fixed_width height is_enable is_tab_stop key label

mnemonic width

}

List_box sử dụng để cung cấp cho người sử dụng một danh sách các chuỗi sắp xếp theo cột để lựa chọn. Khi có nhiều phần tử không thể xuất hiện đủ trên danh sách.

: list_box{

action alignment allow_accept fixed_height fixed_width_font tabs fixed_width height is_enable is_tab_stop key label list

mnemonic multiple_select tab_truncate

}

trong đó:

label: tiêu đề xuất hiện phía trên danh sách

list : chuỗi trong dấu nháy kép chứa nội dung các phần tử xuất hiện trong danh sách, được ngăn cách nhau bằng ký tự xuống dòng “\n” .

value: chuỗi trong dấu nháy kép chứa số nguyên xác định phần tử được chọn trong danh sách, được đánh số từ 0.

φ. Popup list

Tương tự như list_box và không cho phép chọn nhiều giá trị một lúc

: popup_box{

action alignment edit_width fixed_height fixed_width_font tabs fixed_width height is_enable is_tab_stop key label list

mnemonic tab_truncate value width

}

trong đó:

label: tiêu đề xuất hiện bên trái của popup_list

edit_width : chiều rộng của phần xuất hiện chữ. Giá trị này là các số thực hoặc nguyên .

value: chuỗi trong dấu nháy kép chứa số nguyên xác định phần tử được chọn trong danh sách, được đánh số từ 0.

γ. Radio_button

Các radio_button cung cấp một số lựa chọn, và tại một thời điểm chỉ có một trong số đó được chọn. Cac radio_button không được cài đặt trực tiếp trong dialog mà chỉ có thể cài đặt trong radio_row hoặc radio_column

: radio_button{

action alignment fixed_height fixed_width height is_enable is_tab_stop key label list

mnemonic value width

trong đó:

label: tiêu đề xuất hiện bên phải radio_button.

Value: chuỗi trong dấu nháy kép chứa số nguyên xác định trạng thái ban đầu của radio_button. “0” nghĩa là không được chọn, “1” nghĩa là được chọn.

η. Toggle

Các toggle cho phép người dùng lựa chọn đồng thời nhiều mục. Khi sử dụng chuột nhấn vào toggle thì giá trị của nó sẽ thay đổi.

: toggle {

action alignment fixed_height fixed_width height is_enable is_tab_stop value width}

3.9.2.2 Các tile cluster

Các tile cluster dùng để nhóm các tile có chức năng liên quan đến nhau cho dễ quản lý và sử dụng trong hộp thoại. Ta không thể sử dụng chuột chọn được chính các cluster mà chỉ có thể chọn các tile bên trong của nó. Trừ radio_row và radio_column, ta không thể gán chức năng cho các cluster.

α. Column

Các tile được sắp xếp thành cột từ trên xuống. Chúng được xem là con của column. Column có thể chứa tất cả các loại tile, ngoại trừ radio_button đứng một mình.

:column {

alignment children_alignment

children_fixed_height children_fixed_width fixed_height fixed_width height label width

}

β. Boxed_column

Tương tự như column, bao quanh nó là một khung chữ nhật và một tiêu đề.

: box_column {

alignment children_alignment

children_fixed_height children_fixed_width fixed_height fixed_width height label width

}

χ. Row

Row có chức năng tương tự column, ngoại trừ các tile con được sắp xếp theo hàng ngang từ trái sang phải.

:row {

alignment children_alignment

fixed_height fixed_width height label width

}

δ. Boxed_row

Tương tự như row, bao quanh nó là một khung chữ nhật và một tiêu đề

:boxed_row {

alignment children_alignment

children_fixed_height children_fixed_width fixed_height fixed_width height label width

}

ε. Radio column

Radio_column là cluster sử dụng để chứa các radio_button. Các radio_button được sắp xếp thành một cột, và có thể gán chức năng cho radio_column.

:radio_column {

alignment children_alignment

children_fixed_height children_fixed_width fixed_height fixed_width height label width

}

φ. Boxed radio column

Tương tự radio column nhưng có thêm khung viền hình chữ nhật và tiêu đề

:boxed_radio_column {

alignment children_alignment

children_fixed_height children_fixed_width fixed_height fixed_width height label width

}

γ. Radio_row

Radio_row là cluster sử dụng để chứa các radio_button. Các radio_button được sắp xếp thành hàng ngang từ trái sang phải, và có thể gán chức năng cho radio_column.

:radio_row {

alignment children_alignment

children_fixed_height children_fixed_width fixed_height fixed_width height label width}

η. Boxed radio row

Tương tự radio row nhưng có thêm khung viền hình chữ nhật và tiêu đề

:boxed_radio_row {

alignment children_alignment

fixed_height fixed_width height label width

}

3.9.2.3 Informative tile

Các informative tile sử dụng để cung cấp thông tin cho người dùng thông qua hình ảnh và chữ.

α. Image

Image dùng để hiện thị hình ảnh chứa trong một slide file, hoặc được vẽ bằng các vector. Ta phải khai báo chính xác kích thước dài và rộng cho image tile hoặc một trong hai kích thước này cùng với hệ số tỉ lệ aspect_ratio.

:image {

action alignment aspect_ratio color fixed_height fixed_width height is_enable is_tab_stop key label mnemonic value width

}

β. Text

Text dùng để hiển thị thông tin ở dạng chuỗi, thường là các thông tin động thay đổi trong khi thực hiện chương trình. Ta không nên dùng text để hiển thị tiêu đề của các tile khác, và cũng không nên dùng text để hiển thị thông báo lỗi.

:text {

alignment fixed_height fixed_width height is_bold key label value width

}

trong đó:

label: dùng để hiện nội dung ban đầu cho text. Chiều dài của chuỗi chứa trong label sẽ được so sánh với giá trị thuộc tính width. Giá trị lớn hơn sẽ được dùng làm chiều rộng của text. Do đó ta phải khai báo ít nhất một trong hai giá trị này.

Value: dùng để thay đổi nội dung chương trình đang chạy. Thuộc tính không ảnh hưởng đến chiều rộng của text.

χ. Text part

Text_part dùng để hiển thị các thông tin động, kết nối với các thông tin tĩnh tạo thành nội dung của text tile. Ta có thể sắp xếp các text_part theo phương thẳng đứng để tạo ra dòng chữ theo phương thẳng đứng.

:text_part {

label

}

Paragraph là một cluster dùng để chứa các text_part và concatenation và sắp xếp chúng thành một cột theo thứ tự từ trên xuống.

:paragraph { }

3.9.2.4 Các error tile và exit tile

 Errtile  Ok_only  Ok_cancel  Ok_cancel_help  Ok_cancel_help_errtile  Ok_cancel_help_info

Một phần của tài liệu Tìm hiểu ngôn ngữ AutoLISPVàỨng dụng trong AutoCAD (Trang 34)