Abstract:
A UI program is recorded on a non-transitory computer readable medium for operating a computer as a print control apparatus in cooperation with a driver core module. The UI program causes the computer to execute: a first display control step of running a display program and displaying first setting items ECα (EC 1  to EC 5  and EC 41 ), and a second display control step of running a default program and displaying a second setting item ECβ (EC 42 ) which cannot be displayed by the display program. In the second display control step, the second setting item ECβ (EC 42 ) is displayed in a position adjacent to one of the first setting items ECα (EC 41 ) having the same group information as the second setting item ECβ (EC 42 ).

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims priority under 35 U.S.C. §119 to Japanese Patent Application No. P2014-191019, filed Sep. 19, 2014. The contents of this application are herein incorporated by reference in their entirety. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of Invention 
         [0003]    The present invention relates to a non-transitory computer readable recording medium on which a UI program is recorded, a print control apparatus and a control method of the same. 
         [0004]    2. Description of Related Art 
         [0005]    Conventionally, printer drivers are used to control printing apparatuses. The printer driver is a program which is installed in a PC (Personal Computer) or the like. Various setting items for printing (orientation of originals, size of the original, the number of copies to be printed and so forth) are displayed on the display unit of the PC in which the program is installed. A user can perform desired printing after inputting appropriate values to the setting items which are displayed (for example, refer to Japanese Patent Published Application No. 2014-134848). 
         [0006]    Some type of such printer drivers consists of a driver core module and a UI (User Interface) module which are installed respectively as separate packages and updated separately (for example, v4 printer driver model). Because of this, in the case where the UI module is not updated while the driver core module has been updated to introduce an additional setting parameter, the additional setting parameter may not appropriately be displayed. The usability is substantially degraded in such a case. 
         [0007]    For example, it is assumed that only the driver core module is updated in a printer driver having, as one of page allocation functions, an allocation layout function which can be used for printing images of a plurality of pages in a single sheet, such as 2in1, 4in1 or the like. Also, it is assumed that the driver core module is updated to have a frame border function with which each page can be surrounded with a frame border, as one of page allocation functions, when printing images of a plurality of pages in a single sheet. In such a case, since the UI module has not been updated yet, it cannot be determined where the setting item of the frame border function has to be displayed so that the setting item of the frame border function may be displayed in a position apart the setting item of the allocation layout function, and thereby the usability is substantially degraded because these functions are separated although both belong to the same functional category relating to page allocation. 
       SUMMARY OF THE INVENTION 
       [0008]    To achieve at least one of the above-mentioned objects, reflecting one aspect of the present invention, in a non-transitory computer readable medium on which is recorded a UI program for operating a computer as a print control apparatus in cooperation with a driver core module, the UI program receives information about a plurality of setting items for setting printing conditions from the driver core module and displays a user interface of the plurality of setting items to a user, wherein the driver core module is configured to perform a drawing process based on set values input to the plurality of setting items and output a print job including the result of the drawing process to a printing apparatus. The UI program causes the computer to execute: a first display control step of running a display program and displaying, of the plurality of setting items received from the driver core module, first setting items which can be displayed by the display program; an acquiring step of acquiring group information which is assigned to each of the plurality of setting items and indicative of a group to which the each setting item belongs; and a second display control step of running a default program and displaying, of the plurality of setting items received from the driver core module, a second setting item which cannot be displayed by the display program. In the second display control step, the second setting item is displayed in a position adjacent to one of the first setting items having the same group information as the second setting item. 
         [0009]    Also, to achieve at least one of the above-mentioned objects, reflecting one aspect of the present invention, in a print control apparatus having a driver core module and a UI module, the UI module receives information about a plurality of setting items for setting printing conditions from the driver core module and displays a user interface of the plurality of setting items to a user, and the driver core module is configured to perform a drawing process based on set values input to the plurality of setting items and output a print job including the result of the drawing process to a printing apparatus. The print control apparatus comprises: a first display control unit structured to run a display program and display, of the plurality of setting items received from the driver core module, first setting items which can be displayed by the display program; an acquiring unit structured to acquire group information which is assigned to each of the plurality of setting items and indicative of a group to which the each setting item belongs; and a second display control unit structured to run a default program having been stored in advance and display, of the plurality of setting items received from the driver core module, a second setting item which cannot be displayed by the display program. The second display control unit displays in a position adjacent to one of the first setting items having the same group information as the second setting item. 
         [0010]    Furthermore, to achieve at least one of the above-mentioned objects, reflecting one aspect of the present invention, in a control method of controlling a print control apparatus implemented with a driver core module and a UI module, the UI module receives information about a plurality of setting items for setting printing conditions from the driver core module and displays a user interface of the plurality of setting items to a user, and the driver core module is configured to perform a drawing process based on set values input to the plurality of setting items and output a print job including the result of the drawing process to a printing apparatus. The control method comprises: a first display control step of running a display program and displaying, of the plurality of setting items received from the driver core module, first setting items which can be displayed by the display program; an acquiring step of acquiring group information which is assigned to each of the plurality of setting items and indicative of a group to which the each setting item belongs; and a second display control step of running a default program having been stored in advance and displaying, of the plurality of setting items received from the driver core module, a second setting item which cannot be displayed by the display program. In the second display control step, the second setting item is displayed in a position adjacent to one of the first setting items having the same group information as the second setting item. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1  is a view for schematically showing the configuration of a print system including a print control apparatus in accordance with an embodiment of the present invention. 
           [0012]      FIG. 2  is a view for schematically showing the hardware configuration of a PC shown in  FIG. 1 . 
           [0013]      FIG. 3  is a view for schematically showing the software configuration (functional architecture) of the PC shown in  FIG. 1 . 
           [0014]      FIG. 4A  is a first views for explaining a print setting screen for modern UI. 
           [0015]      FIG. 4B  is a second views for explaining a print setting screen for modern UI. 
           [0016]      FIG. 5  is a view for showing a print setting screen for modern UI. 
           [0017]      FIG. 6  is a schematic diagram for showing a print setting screen for desktop UI. 
           [0018]      FIG. 7  shows an example of group information. 
           [0019]      FIG. 8  is a schematic diagram for showing a print setting screen for desktop UI in which a second setting items ECβ is illustratively displayed. 
           [0020]      FIG. 9  is a flow chart for showing a method of controlling the PC in accordance with the present embodiment. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0021]    Hereinafter, a description is given of embodiments of the present invention with reference to the drawings. 
         [0022]      FIG. 1  is a view for schematically showing the configuration of a print system including a print control apparatus in accordance with the present embodiment. As shown in  FIG. 1 , the print system  1  consists, for example, of a single or a plurality of PC (Personal Computer serving as a print control apparatus)  2 , a single or a plurality of printing apparatuses  3 , and a network through which these elements are connected. Incidentally, while  FIG. 1  illustrates only one PC  2  and two printing apparatuses  3 , an arbitrary number of PC  2  and an arbitrary number of printing apparatuses  3  can be connected to the print system  1 . 
         [0023]    The PC  2  is a usual personal computer which is controlled by an OS (Operating System). The printing apparatus  3  receives a print job output from the PC  2  through the network, and performs a print process in accordance with the print job. Incidentally, the printing apparatus  3  may or may not have a copy function. 
         [0024]      FIG. 2  is a view for schematically showing the hardware configuration of the PC  2  shown in  FIG. 1 . As shown in  FIG. 2 , the PC  2  is provided with a CPU (Central Processing Unit)  21 , a main storage device  22 , an auxiliary storage device  23 , an input device  24  and an output device  25 . 
         [0025]    The CPU  21  generally controls the PC  2  and serves as a central processing unit which performs various arithmetic operations. The main storage device  22  is a memory which temporarily stores information which is needed when the CPU  21  performs a process. The auxiliary storage device  23  is a storage device which plays an auxiliary role for the main storage device  22 . The auxiliary storage device  23  stores programs such as a UI program for use in the print control apparatus of the present embodiment. 
         [0026]    The input device  24  is a device such as a keyboard, a mouse and/or the like for externally inputting commands and information. The output device  25  is a device, such as a display, a printer and/or the like for outputting information outwards based on processing results by the CPU  21 . Particularly, a display is a typical user interface through which the CPU  21  displays processing results to a user. 
         [0027]      FIG. 3  is a view for schematically showing the software configuration (functional architecture) of the PC  2  shown in  FIG. 1 . The PC  2  is provided with, as function units in accordance with the present embodiment, a driver core module  26  implemented as a driver core program which is stored in the auxiliary storage device  23  and loaded and run by the CPU  21 , and a UI unit (UI module)  27  implemented as a UI program which is stored in the auxiliary storage device  23  and loaded and run by the CPU  21 . Incidentally, in this description, these driver core program and UI program are generally referred to as a printer driver program. 
         [0028]    The driver core module  26  is provided with a drawing processing unit  26   a  and a configuration processing unit  26   b . The present embodiment is meant to be implemented with a v4 driver which includes the driver core module  26  as a core of the v4 driver. 
         [0029]    The drawing processing unit  26   a  performs drawing processing based on information transmitted from an application AP such as Word or Excel (registered trademark). More specifically, the drawing processing unit  26   a  performs drawing processing based on parameters input to the setting items regarding to drawing among a plurality of setting items (for example, orientation of originals, size of the originals, the number of copies to be printed, page layout and so forth) for setting required printing conditions. On the other hand, the driver core module  26  outputs a print job including the result of the drawing processing performed by the drawing processing unit  26   a  to the printing apparatus  3 . 
         [0030]    The configuration processing unit  26   b  serves to save driver configuration information and provided with a printer configuration information storing unit  26   b   1  and a driver property information storing unit  26   b   2 . The driver configuration information includes printer configuration information (GPD/PPD) and driver property information (Driver PropertyBag). The printer configuration information storing unit  26   b   1  and the driver property information storing unit  26   b   2  store the printer configuration information and the driver property information respectively. 
         [0031]    The printer configuration information is digital information in the form of a GPD file and a PPD file representing the functions of the printing apparatus  3  connected to the network. The information relating to the plurality of setting items are generated with reference to the printer configuration information and exchanged between the applications AP and the UI unit  27 . The generated information relating to the plurality of setting items consists of print capacity information and print ticket information. The print capacity information includes available setting items (i.e., the plurality of setting items) and other definition information of setting values (for example, “A4”, “A3”, “B4” . . . if the setting item is the size of sheets). The print ticket information includes current value information about what set values have been designated for the setting items (for example, if the setting item is the size of sheets, the information indicates that “A4” has been designated). 
         [0032]    The driver property information is driver-specific read-only data which is written in an XML format and can be accessed from the UI unit  27 . Furthermore, the driver property information storing unit  26   b   2  stores group information, control information and location information provided in accordance with the present embodiment and described below. 
         [0033]    The UI unit  27  is a module for realizing an advanced user interface, which is a vender original interface and realized by running the UI program with the CPU  21  as described above. The UI unit  27  of the present embodiment can be implemented, for example, as two types of apps, i.e., a windows 8 store device app for displaying a print setting screen for a windows 8 modern UI and a printer extension app for displaying a print setting screen for a desktop UI. 
         [0034]    This kind of the UI unit  27  is provided with the setting item information processing unit (acquisition unit)  27   a , and a UI processing unit (a first display control unit and a second display control unit)  27   b . The setting item information processing unit  27   a  receives and processes the information relating to the plurality of setting items, and transmits the processed information to the UI processing unit  27   b , and also updates the print ticket information in accordance with the parameters set by a user and transfers the updated print ticket information to the driver core module  26 . 
         [0035]    The UI processing unit  27   b  generates and displays the print setting screen with reference to the information relating to the plurality of setting items received from the setting item information processing unit  27   a , screen definition and control information (a display program and a default program) available within the UI processing unit  27   b , and resource data. Incidentally, the screen definition and control information can be implemented by a printer extension app which is described in C#/XAML, or implemented by a windows 8 store device app which is described in C#/XAML, Javascript/HTML or C++/XAML. Next, an example of the print setting screen will be explained. 
         [0036]      FIGS. 4A and 4B  are views for explaining a print setting screen for modern UI. Also,  FIG. 5  is a view for showing the print setting screen for modern UI. 
         [0037]    The modern UI is an interface screen in which switches are arranged in a tiling manner for designating mail, calendar, web browser and the like. Each tile is colored and displayed, for example, with a pastel color. When a mouse cursor is moved to the rightmost edge of the desktop in such a modern UI, for example as shown in  FIG. 4A , an action screen appears from the rightmost edge of the desktop with a playback charm C 1 , a print charm C 2  and a display charm C 3 . A user can display a screen shown in  FIG. 4B  by designating the print charm C 2  of the action screen. 
         [0038]    The screen shown in  FIG. 4B  includes a “Number of Copies” item Ca and a “Print Orientation” item Cb. Also, an “Other Settings” item Cc is displayed. When the “Other Settings” item Cc is designated by the user, a print setting screen for modern UI is displayed. Incidentally, this screen also includes a preview window Pr and a print button PB. 
         [0039]    As illustrated in  FIG. 5 , the print setting screen for modern UI includes, for example, six tabs Ta to Tf, i.e., a “basic” tab Ta, a “layout” tab Tb, a “finishing” tab Tc, a “cover sheet/insertion sheet” tab Td, a “stamp/page printing” tab Te, and a “image quality” tab Tf. The screen which is displayed when the “basic” tab Ta is designated includes a plurality of setting items EC, i.e., an “Orientation of Original” item ECa, a “Size of Original” item ECb, a “Size of Sheet” item ECc, a “Paper Feed Tray” item ECd, a “Type of Paper” item ECe, an “Output Mode” item ECf, a “Number of Copies” item ECg, a “Sort (per copy)” item ECh, and a “Sort” item ECi, which are displayed from the top of the screen in this order. 
         [0040]    Arbitrary set values can be entered to the setting items ECa to ECi respectively. For example, the “Number of Copies” item ECg can be set to a set value between 1 to 9999. Specifically, the “Number of Copies” item ECg can be set to a set value through a spin box SB consisting of a text box TB for inputting the number of copies and operation buttons BO for incrementing and decrementing the number of copies. A user can directly input an arbitrary number of copies to the text box TB. Furthermore, the user can adjust the number of copies by pressing the operation button BO on the right side of the text box TB. 
         [0041]    The “Orientation of Original” items ECa can be set to either set value of “Portrait” and “Landscape”. These setting items can be set by radio buttons RB arranged with labels “Portrait” and “Landscape” adjacent thereto respectively. The “Size of Original” item ECb can be set to any one of set values such as “A4”, “A3”, “B4” and the like. The “Size of Sheet” item ECc can be set to any one of set values such as “A4”, “A3”, “B4”, “Same as Size of Original” and the like. The “Paper Feed Tray” item ECd can be set to any one of set values such as “automatic”, “tray 1”, “tray 2” and the like. The “Type of Paper” item ECe can be set to any one of set values such as “standard paper”, “glossy paper” and the like. The “Output Mode” item ECf can be set to any one of set values such as “Normal Print”, “Test Print” and the like. These setting items ECb to ECf can be set to desired set values by pull down controls. A user can display selectable set values (items) by pressing a list button LB, which is located at the right end of each of the setting items ECb to ECf, and select one of the displayed set values. 
         [0042]    The “Sort (per copy)” item ECh and the “Sort” item ECi can be set to either set value of “On” and “Off” respectively. These setting items ECh and ECi can be set to desired set values by alternative selection. A user can switch On/Off by operating a selection control SO which is located at the right side of each of the setting items ECh and ECi. 
         [0043]      FIG. 6  is a schematic diagram for showing a print setting screen for desktop UI. As illustrated in  FIG. 6 , the print setting screen includes, for example, five tabs T 1  to T 5 , i.e., a “basic setting” tab T 1 , a “layout” tab T 2 , a “finishing” tab T 3 , a “stamp/page printing” tab T 4 , and an “image quality” tab T 5 . The screen which is displayed when the “basic setting” tab T 1  is designated includes a plurality of setting items EC, i.e., an “Orientation of Original” item EC 1 , a “Size of Original” item EC 2 , a “Number of Copies” item EC 3 , a “Page Allocation” item EC 4  and a “Type of Paper” item EC 5 , which are displayed from the top of the screen in this order. 
         [0044]    Arbitrary set values can be entered to the setting items EC 1  to EC 5  respectively. The “Orientation of Original” items EC 1  can be set to either set value of “Portrait” and “Landscape”. The set value can be set through radio buttons RB arranged with labels “Portrait” and “Landscape” adjacent thereto respectively. The “Size of Original” item EC 2  can be set to any one of set values such as “A4”, “A3”, “B4” and the like. The “Number of Copies” item EC 3  can be set to a set value between 1 to 9999. The “Page Allocation” item EC 4  can be set to any one of set values such as “2in1”, “4in1” and the like. The “Type of Paper” item EC 5  can be set to any one of set values such as “standard paper”, “glossy paper” and the like. Of these setting items, the “Size of Original” item EC 2 , the “Page Allocation” item EC 4  and the “Type of Paper” item EC 5  can be set to desired set values by pull down controls. A user can display selectable set values (items) by pressing a list button LB, which is located at the right end of each of the setting items EC 2 , EC 4  and EC 5 , and select one of the displayed set values. The “Number of Copies” item EC 3  can be set to a set value through a spin box SB consisting of a text box TB for inputting the number of copies and operation buttons BO for incrementing and decrementing the number of copies. 
         [0045]    The UI processing unit  27   b  displays the above setting items EC by a display program with which each setting item EC is associated in advance. Namely, the setting items EC are displayed and arranged with input forms (radio buttons RB for alternative selection, pull down controls and so forth) in accordance with the display program. 
         [0046]    However, in the case of the present embodiment, the driver core module  26  and the UI unit  27  can be installed and updated independently. In this case, there may occur inconsistence in version between the driver core module  26  and the UI unit  27 . When such inconsistence occurs, the setting items EC transmitted from the driver core module  26  and received by the UI unit  27  may include setting items ECα (hereinafter referred to as first setting items) which are associated with the display program and the remaining setting items ECβ (hereinafter referred to as second setting items) other than the first setting items.  FIG. 8  shows examples of the first setting items ECα and the second setting items ECβ. 
         [0047]    The UI processing unit  27   b  of the present embodiment is provided with a default program which can display the second setting items ECβ which are not associated with the display program in order to prevent the second setting items ECβ from being not displayed. 
         [0048]    Nevertheless, when the second setting items ECβ is displayed by the default program, the second setting items EC  3  may not be displayed in an appropriate position so that the usability is substantially degraded. 
         [0049]    In order to solve this problem, the UI unit  27  runs the UI program in accordance with the present embodiment to performs the following process. First, the UI processing unit  27   b  performs the display program to display the first setting items ECα based on the information about the setting items EC input from the driver core module  26 . 
         [0050]    Furthermore, the setting item information processing unit  27   a  acquires group information from the driver core module  26 . The group information is information which is assigned to each of the plurality of setting items EC and indicates the group to which this each setting item belongs. 
         [0051]      FIG. 7  shows an example of the group information. 
         [0052]    Incidentally, in the case of the example shown in  FIG. 7 , it is assumed that only the driver core module  26  is updated to add a “Frame Line” item EC 42  (with respect to reference EC 42 , refer to  FIG. 8  to be described below) as a second setting item ECβ. As illustrated in  FIG. 7 , for example, group information named “basic setting” is assigned to the “Orientation of Original” item EC 1 , the “Size of Sheet” item EC 2 , the “Number of Copies” item EC 3 , the “Page Allocation” item EC 4  and the “Type of Paper” item EC 5 . 
         [0053]    Since the “Frame Line” item EC 42  is added as a second setting item ECβ, in the case of the example shown in  FIG. 7 , the “Page Allocation” item EC 4  is separated in detail into an “Allocation Layout” item EC 41  (with respect to reference EC 41 , refer to  FIG. 8  to be described below) and the “Frame Line” item EC 42 . Group information named “Page Allocation” is assigned to the “Allocation Layout” item EC 41  and the “Frame Line” item EC 42 . 
         [0054]    Meanwhile, as illustrated in  FIG. 7 , the plurality of setting items EC further include an “Overlay” item, a “Watermark” item, a “Watermark Text” item, a “Font Name” item, a “Border” item, and a “Color” item and so forth to which group information is assigned respectively. Specifically, group information named “stamp/page printing” is assigned to the setting items EC of “Overlay” and “Watermark”, and group information named “Watermark” is assigned to the setting items EC of “Watermark Text”, “Font Name”, “Border” and “Color” respectively. 
         [0055]    Needless to say, even though omitted in  FIG. 7 , there are other setting items EC to which group information is assigned respectively. 
         [0056]    Referring to  FIG. 3  again, the UI processing unit  27   b  displays a second setting item ECβ in a position adjacent to a first setting item ECα belonging to the same group information as this second setting item ECβ.  FIG. 8  shows an example of a print setting screen for desktop UI in which a second setting item ECβ is displayed. 
         [0057]    As illustrated in  FIG. 8 , the UI processing unit  27   b  determines, based on group information, a position in which the “Frame Line” item EC 42  is to be displayed as a second setting item. As illustrated in  FIG. 7 , the group information named “Page Allocation” is assigned to the “Frame Line” item EC 42 . Also, this group information named “Page Allocation” is assigned also to the “Allocation Layout” item EC 41 . As illustrated in  FIG. 8 , therefore, the UI processing unit  27   b  displays the “Frame Line” item EC 42  which is a second setting item ECβ in a position adjacent to the “Allocation Layout” item EC 41  which is a first setting item ECα belonging to the same group information as the second setting item ECβ. 
         [0058]    By this configuration, even when only the driver core module  26  is updated such that a new setting item ECβ is introduced, this new setting item ECβ is displayed in an appropriate position adjacent to another setting item ECα which is highly relevant with the setting item ECβ and thereby the usability is substantially improved. 
         [0059]    It is preferred here that the setting item information processing unit  27   a  acquires not only group information but also control information (radio buttons RB for alternative selection, pull down controls and so forth) indicative of input forms to be used for inputting printing conditions, and that the UI processing unit  27   b  displays a second setting item ECβ by the use of the input forms based on the acquired control information. The second setting item ECβ can thereby be displayed in the appropriate input forms. Incidentally, the control information is assigned to each setting item EC in the same manner as the group information. 
         [0060]    The “Frame Line” item EC 42  shown in  FIG. 8  can be displayed with a pull down control. Namely, when a user operates a mouse which is one of the input device  24  to click the “Frame Line” item EC 42 , the UI processing unit  27   b  displays two alternatives of “frame line: off” and “frame line: on” in order that one alternative can be selected. The UI processing unit  27   b  displays the second setting item ECβ with reference to the control information in addition to the group information. 
         [0061]    Furthermore, it is preferred here that the setting item information processing unit  27   a  also acquires the positional information indicative of the position adjacent to the first setting item ECα, and that the UI processing unit  27   b  displays the second setting item ECβ in the adjacent position based on the acquired positional information. This makes more appropriate the display position of the second setting item ECβ. Incidentally, the positional information is assigned to each setting item EC in the same manner as the group information. 
         [0062]    In the case of the example shown in  FIG. 8 , the “Frame Line” item EC 42  is displayed at a downward distance of a predetermined number of bits from the “Allocation Layout” item EC 41 . The “Frame Line” item EC 42  is provided for determining whether to encircle, with frame lines, images of a plurality of pages to be allocated in a single sheet, such as 2in1, 4in1 or the like, which is a set value of the “Allocation Layout” item EC 41 . If the “Frame Line” item EC 42  is located above the “Allocation Layout” item EC 41 , therefore, users may not understand the purpose of the frame line so that the display is hard to understand. That is to say, since the “Frame Line” item EC 42  assumes the existence of the “Allocation Layout” item EC 41 , it is preferred that the “Frame Line” item EC 42  is located just below the “Allocation Layout” item EC 41 . Accordingly, the setting item information processing unit  27   a  also acquires the positional information, and the UI processing unit  27   b  displays the second setting item ECβ based on the positional information. 
         [0063]    Next is an explanation of a method of controlling the PC  2  in accordance with the present embodiment.  FIG. 9  is a flow chart for showing the control method of the PC  2  in accordance with the present embodiment. The PC  2  performs the process shown in  FIG. 9  by running a program stored in the auxiliary storage device  23 . Incidentally, the process shown in the flow chart of  FIG. 9  is run when opening the print setting screen for modern UI or desktop UI. 
         [0064]    As illustrated in  FIG. 9 , the setting item information processing unit  27   a  of the UI unit  27  acquires information about the setting item EC from the driver core module  26  (S 1 ). 
         [0065]    Next, the UI processing unit  27   b  generates screen display information of the setting item EC acquired in step S 1  by the display program (S 2 : first display control step). The setting item information processing unit  27   a  of the UI unit  27  then acquires the version information of the driver core module  26  (S 3 ). 
         [0066]    The UI unit  27  then determines whether or not the driver core module  26  is updated to a new version by comparing the version acquired in step S 3  with the version of the driver core module  26  stored in the UI unit  27  (S 4 ). 
         [0067]    If the driver core module  26  is updated to a new version (S 4 : YES), the UI unit  27  determines whether or not there is a new setting item ECβ, i.e., a second setting item ECβ (S 5 ). This step S 5  of determining whether or not there is a second setting item ECβ (S 5 ) is performed, for example, by determining whether or not all the setting items EC acquired in step S 1  are associated with the display program. 
         [0068]    If the driver core module  26  is not updated to a new version (S 4 : NO) or if there is no new second setting item EC β (S 5 : NO), the UI processing unit  27   b  display a screen in accordance with the information which is generated in step S 2  (S 6 : first display control step). The process shown in  FIG. 9  is then finished. 
         [0069]    On the other hand, if there is a new second setting item ECβ (S 5 : YES), the setting item information processing unit  27   a  acquires group information as shown in  FIG. 7  from the driver core module  26  (S 7 : acquiring step). Furthermore, in step S 7 , the setting item information processing unit  27   a  also acquires control information and positional information from the driver core module  26 . 
         [0070]    Next, the UI processing unit  27   b  calculates display position information used for displaying the new setting item (second setting item) ECβ and the existing setting items (first setting items) ECα with reference to the group information acquired in step S 7  (S 8 : second display control step). In this case, with respect to the new setting item ECβ, the display position information is generated to be adjacent to the existing setting item ECα belonging to the same group information as the new setting item ECβ. Furthermore, the UI processing unit  27   b  calculates detailed display position information based on the positional information acquired in step S 7 . 
         [0071]    The UI processing unit  27   b  then generates screen display information anew by inserting the new setting item EC  3  into the screen display information generated in step S 2  (S 9 : second display control step). In this case, based on the display position information calculated in step S 8 , the UI processing unit  27   b  generates the screen display information into which the new setting item ECβ is inserted. Furthermore, the generated screen display information includes the control information which is acquired in step S 7 , such that the new setting item ECβ is displayed with an input form designated by the control information. Incidentally, since the new setting item ECβ is added and inserted into the screen display information generated in step S 2 , the sizes of the existing setting items ECα are decreased and rearranged at decreased distances therebetween in the screen display information generated in step S 9 . 
         [0072]    The UI processing unit  27   b  then performs screen display with the information generated in step S 9  (S 10 : second display control step). The process shown in  FIG. 9  is then finished. 
         [0073]    As has been discussed above, the UI program, the PC  2  and the control method thereof in accordance with the present embodiment make it possible to display a second setting item ECβ in a position adjacent to a first setting item ECα belonging to the same group information as this second setting item ECβ. Because of this, even if there is a setting item EC which is not supported by the existing display program, this setting item EC can be displayed in the vicinity of another relevant setting item EC which is supported by the existing display program. By this configuration, even when only the driver core module  26  is updated to introduce a new setting item ECβ while the UI unit  27  is not updated, it is avoided to fail to find where the new setting item ECβ is to be displayed, but the new setting item ECβ can be displayed in the vicinity of another relevant setting item EC. Accordingly, it is possible to display the new setting item ECβ in a position where the usability is substantially improved. 
         [0074]    The UI processing unit  27   b  displays a second setting item ECβ by the use of the input forms based on the control information which is acquired for inputting printing conditions and assigned to the second setting item ECβ of the plurality of setting items EC. The second setting item ECβ can be displayed in the form of an input control, e. g. radio buttons RB for alternative selection, pull down controls and so forth which is designated by the control information. By this configuration, the new setting item EC can be displayed in a more appropriate input form. Accordingly, it is possible to improve the usability. 
         [0075]    Also, of the plurality of setting items EC, the second setting item ECβ is given positional information indicative of a position adjacent to the first setting item ECα, and the second setting item ECβ is displayed in the adjacent position based on the positional information by acquiring the positional information. Because of this, the second setting item ECβ can be displayed in an appropriate position such as a predetermined position just below a relevant first setting item ECα. Accordingly, it is possible to further improve the usability. 
         [0076]    The UI program, the print control apparatus and the method of controlling the same have been explained based on the embodiments in accordance with the present invention. However, it is not intended to limit the present invention to the precise form described, and obviously many modifications and variations are possible without departing from the scope of the invention as well as any combination of these embodiments. 
         [0077]    For example, in accordance with the above embodiment, the UI unit  27  receives all of the group information, the control information and the positional information from the driver core module  26 . However, the UI unit  27  may receive only the group information, or the group information and only either the control information or the positional information but not both. Furthermore, in addition to or in place of the control information and/or the positional information, any other information from the driver core module  26  may be received by the UI unit  27  for displaying the second setting item ECβ in a more appropriate position to further improve usability. Incidentally, the default program may be provided, for example, with a routine to display a second setting item ECβ with a pull down control when the UI unit  27  does not provide control information. Furthermore, the default program may be provided, for example, with a routine to display a second setting item ECβ at a downward distance of a predetermined number of bits from a relevant first setting item ECα when the UI unit  27  does not provide control information. 
         [0078]    The process shown in  FIG. 9  is invoked when opening either the print setting screen for modern UI or desktop UI. However, the process shown in  FIG. 9  may be invoked only when opening a particular one of the print setting screens and not invoked when opening the other print setting screen. 
         [0079]    Furthermore, the “Frame Line” item EC 42  of the present embodiment (i.e., the second setting item ECβ) is displayed with a pull down control through which a set value can be input. However, the “Frame Line” item EC 42  (i.e., the second setting item ECβ) may be displayed with a text box TB through which a set value can be directly input. In addition to this, the “Frame Line” item EC 42  (i.e., the second setting item EC  3 ) may be displayed with any other input control such as radio buttons RB. 
         [0080]    Still further, the “Allocation Layout” item EC 41  is a first setting item ECα having the same group information as the “Frame Line” item EC 42  which is a second setting item ECβ of the present embodiment. Because of this, the “Frame Line” item EC 42  is displayed adjacent the “Allocation Layout” item EC 41 . However, in the case where there are two or more first setting items ECα having the same group information as the “Frame Line” item EC 42 , it is preferred to determine either one of the two first setting items ECα in advance, for example, the first setting item ECα which is displayed in the uppermost position.