МНОГОПОТОЧНАЯ НАСТРОЙКА ШИРИНЫ СТОЛБЦОВ И ВЫСОТЫ СТРОК

1. Способ, содержащий этапы, на которых:
выполняют посредством вычислительной системы процесс настройки столбцов, который использует множественные потоки для определения глобально максимальной ширины столбца для каждого столбца в множестве целевых столбцов в электронной таблице, причем это множество целевых столбцов включает в себя по меньшей мере один столбец; и
повторно заполняют электронную таблицу таким образом, чтобы каждый столбец в упомянутом множестве целевых столбцов имел ширину, основанную на глобально максимальной ширине столбцов для этого столбца.
2. Способ по п.1, в котором выполнение процесса настройки столбцов содержит этапы, на которых:
разделяют строки в электронной таблице на множество рабочих блоков, причем каждый из потоков оценивания ширины выбирает один или несколько рабочих блоков из этого множества рабочих блоков и определяет локально максимальные ширины столбца для каждого столбца в этих одном или нескольких выбранных рабочих блоках; и
определяют для каждого столбца в упомянутом множестве целевых столбцов глобально максимальную ширину столбца посредством выявления наибольшей из локально максимальных ширин столбца для данного столбца.
3. Способ по п.2, в котором
при выполнении процесса настройки столбцов определяют соответствующее количество потоков оценивания ширины на основе количества рабочих блоков в упомянутом множестве рабочих блоков и на основе количества процессоров в системе обработки данных;
при этом количество потоков оценивания ширины равно упомянутому соответствующему количеству потоков оценивания ширины.
4. Способ по п.1, в котором выполнение процесса настройки столбцов содержит этапы, на которых:
определяют, превышает ли количество ячеек в упомянутом множестве целевых столбцов нижний предел; и
используют одиночный поток для определения глобально максимальных ширин столбцов, когда количество ячеек в упомянутом множестве целевых столбцов не превышает этот нижний предел.
5. Способ по п.1, в котором
каждый из потоков оценивания ширины создает контекст устройства; и
при этом каждый из потоков оценивания ширины использует контекст устройства, созданный этим потоком оценивания ширины, для оценивания ширины текста в ячейках в упомянутом множестве целевых столбцов.
6. Способ по п.1, в котором
значения в ячейках электронной таблицы выводятся из данных в одном или нескольких внешних источниках данных; и
при этом способ дополнительно содержит этап, на котором запускают процесс настройки столбцов, когда значения в ячейках электронной таблицы обновляются из этих одного или нескольких внешних источников данных.
7. Способ по п.1, дополнительно содержащий этап, на котором принимают посредством вычислительной системы один или несколько вводов выбора столбцов от пользователя, причем эти один или несколько вводов выбора столбцов указывают столбцы в упомянутом множестве целевых столбцов.
8. Вычислительная система, содержащая:
систему обработки данных, содержащую один или несколько процессоров; и
систему хранения данных, хранящую машиночитаемые команды, которые представляют приложение электронных таблиц, причем эти машиночитаемые команды при их выполнении одним или несколькими процессорами предписывают вычислительной системе обеспечивать приложение электронных таблиц, причем приложение электронных таблиц выполнено с возможностью:
выполнять процесс настройки строк, который использует множественные потоки для определения глобально максимальной высоты строки для каждой строки в множестве целевых строк в электронной таблице, когда количество ячеек в этом множестве целевых строк превышает нижний предел, причем данное множество целевых строк включает в себя по меньшей мере одну строку; и
повторно заполнять электронную таблицу таким образом, чтобы каждая строка в упомянутом множестве целевых строк имела высоту, основанную на глобально максимальной высоте строки для этой строки.
9. Вычислительная система по п.8, в которой приложение электронных таблиц выполняет нижеследующее как часть процесса настройки строк:
разделение столбцов в электронной таблице на множество рабочих блоков, причем каждый из потоков оценивания высоты выбирает один или несколько рабочих блоков из этого множества рабочих блоков и определяет локально максимальные высоты строки для каждой строки в упомянутых одном или нескольких выбранных рабочих блоках, причем каждый из рабочих блоков независимо от оставшегося рабочего блока, содержит одно и то же количество столбцов; и
определять для каждой строки в упомянутом множестве целевых строк глобально максимальную высоту строки посредством выявления наибольшей из локально максимальных высот строки для данной строки.
10. Вычислительная система по п.9, в которой приложение электронных таблиц выполняет нижеследующее как часть процесса настройки строк:
определение соответствующего количества потоков оценивания высоты на основе количества рабочих блоков в упомянутом множестве рабочих блоков и на основе количества процессоров в системе обработки данных;
при этом количество потоков оценивания высоты равно упомянутому соответствующему количеству потоков оценивания высоты.
11. Вычислительная система по п.8, в которой приложение электронных таблиц выполняет нижеследующее как часть процесса настройки строк:
определение того, превышает ли количество ячеек в упомянутом множестве целевых строк нижний предел; и
использование одиночного потока для определения глобально максимальных высот строк, когда количество ячеек в упомянутом множестве целевых строк не превышает этот нижний предел.
12. Вычислительная система по п.8, в которой каждый из потоков оценивания высоты создает контекст устройства и использует этот контекст устройства для оценивания высот текста в ячейках в упомянутом множестве целевых строк.
13. Вычислительная система по п.8, в которой приложение электронных таблиц использует систему отображения для отображения электронной таблицы для пользователя приложения электронных таблиц.
14. Вычислительная система по п.8, в которой упомянутое множество целевых строк включает в себя некоторые, но не все из строк в электронной таблице.
15. Машиночитаемый носитель данных, который хранит машиночитаемые команды, которые при их выполнении одним или несколькими процессорами в системе обработки данных из состава вычислительной системы предписывают вычислительной системе обеспечивать приложение электронных таблиц, выполненное с возможностью:
предписывать графическому пользовательскому интерфейсу отображать электронную таблицу;
принимать один или несколько вводов выбора столбцов от пользователя приложения электронных таблиц, причем эти один или несколько вводов выбора столбцов указывают множество целевых столбцов в электронной таблице, причем это множество целевых столбцов включает в себя один или несколько столбцов в электронной таблице;
определять, превышает ли количество ячеек в данном множестве целевых столбцов нижний предел;
использовать одиночный поток для определения глобально максимальных ширин столбцов для целевых столбцов, когда количество ячеек в упомянутом множестве целевых столбцов не превышает нижний предел;
выполнять следующие действия, когда количество ячеек в упомянутом множестве целевых столбцов превышает нижний предел:
разделение строк в электронной таблице на множество рабочих блоков, причем каждый из рабочих блоков независимо от возможно оставшегося рабочего блока, содержит одно и то же количество строк;
определение соответствующего количество потоков оценивания ширины на основе количества рабочих блоков в данном множестве рабочих блоков и на основе количества процессоров в системе обработки данных;
активация множества потоков оценивания ширины, причем количество потоков оценивания ширины в этом множестве потоков оценивания ширины равно упомянутому соответствующему количеству потоков оценивания ширины, причем каждый поток оценивания ширины в данном множестве потоков оценивания ширины выполняет следующие действия, пока не останется остающихся блоков в упомянутом множестве рабочих блоков:
создание контекста устройства,
выбор одного или нескольких рабочих блоков в упомянутом множестве рабочих блоков,
использование одного из контекстов устройства для вычисления ширин текста в ячейках в этих одном или нескольких выбранных рабочих блоках,
использование ширин текста в ячейках в упомянутых одном или нескольких выбранных рабочих блоках для определения локально максимальных ширин столбца каждого столбца в упомянутом множестве целевых столбцов; и
использование локально максимальных ширин столбцов, определенных посредством потоков оценивания ширины, для определения глобально максимальных ширин столбцов для упомянутого множества целевых столбцов;
повторно заполнять электронную таблицу таким образом, чтобы каждый столбец в упомянутом множестве целевых столбцов имел ширину, основанную на глобально максимальной ширине столбца для данного столбца, тем самым обеспечивая отображение электронной таблицы для пользователя приложения электронных таблиц.