8.1.3. Присвоение строкам чередующейся заливки
Чередующаяся заливка, как правило, используется при оформлении длинных таблиц- такая форма их оформления способствует лучшей читабельности информации. Чередовать разные заливки можно как от строки к строке, так и от столбца к столбцу. Строки, заданные как шапка, можно исключить из общего списка и в таком случае чередование распространяться на них не будет. В листинге 8.4 приведен пример задания чересстрочной чередующейся заливки.
Листинг 8,4, Чередующаяся заливка строк -
myTable.alternatingFills = AlternatingFillsTypes.alternatingRows; myTable.startRowFillColor = myDocument.swatches["MyColorl"] ; myTable.startRowFillTint = 60;
myTable.endRowFillColor = myDocument.swatches.iteiti("MyColorl") ; myTable.endRowFillTint = 50;
8.1.4. Задание свойств таблицы
В листинге 8.5 приведен пример, иллюстрирующий задание большинства часто используемых элементов оформления таблицы.
' Листинг 8.5 Задание свойств таблицы
// Добавляем шапку
myTable.rows.item(0).rowType = RowTypes.headerRow;
// Присваиваем цвет ячейкам
myTable.rows[0].fillColor = myDocument.swatches.item("MyColorl"); myTable.rows[0].fillTint = 40;
myTable.rows[1].fillColor = myDocument.swatches.item("MyColorl"); myTable.rows[1].fillTint = 40;
myTable.rows[2].fillColor = myDocument.swatches.item("MyColorl"); myTable.rows[2].fillTint = 20;
myTable.rows[3].fillColor = myDocument.swatches.item("MyColorl"); myTable.rows[3].fillTint = 40;
// Для форматирования диапазона ячеек удобно использовать
// метод everyltem()
with(myTable.cells.everyltem())
{
topEdgeStrokeColor = myDocument.swatches.item("MyColor2"); topEdgeStrokeWeight = 1;
bottomEdgeStrokeColor = myDocument.swatches.item("MyColor2"); bottomEdgeStrokeWeight = 1;
// Если вы задаете ячейке толщину окантовки, задайте и цвет:
// иначе будет цвет по умолчанию (черный) leftEdgeStrokeColor = myDocument.swatches.item("None"); leftEdgeStrokeWeight = 0;
rightEdgeStrokeColor = myDocument.swatches.item("None"); rightEdgeStrokeWeight = 0;
}
8.1.5. Определение положения курсора в таблице
Для того чтобы иметь возможность работать не только с каким-то заранее известным элементом таблицы, а вообще с любым (например, выделенным фрагментом - как вы помните, положение курсора также считается выделе нием), первое, что нужно выполнить,- определить тип выделения, чтобы использовать только те методы и свойства, которые позволяет для него объектная модель. Собственно, этот процесс очень похож на тот, который был использован нами для текста - разумеется, со своей спецификой. Посмотрите, как InDesign воспринимает тот или иной фрагмент таблицы (листинг 8.6).
Листинг 8.6. Определение типа выделенного объекта
if(арр.documents.length != 0){ if(арр.selection.length != 0){
switch(app.selection[0].constructor.name){
// Если выделена либо строка, либо колонка, либо диапазон ячеек -
// их тип определяется как "Cell" case "Cell":