Am I right there is no combo box control also for mobile?

I dont see a Combo Box control in the ide..is there no combo box control in the mobile framework?if not why?

Combo boxes don't really work that well on smaller touchscreens. Especially if they need to scroll, and if they are on a form that scrolls. You get scrolling regions in scrolling regions, which is borderline criminal UI unless very very well designed.
On tablets, with more screen real-estate, the problem is less apparent, but still present. But there are good alternatives: popup lists, calendar controls etc. If you really really want a combo box, I'm sure there are some 3rd party ones floating around, or you could adapt the MX one.
Try to re-think your UI from a touchscreen perspective, not just blindly "copy" your Windows/desktop paradigms.
In fact, personally I find combo-boxes irritating even on desktop, especially when using a touchpad. It always makes me cringe when I am forced to use a combo box to select my country from a list of hundreds. For instance, when I use the scroll wheel/area, does it scroll the combo box or the form it is on? Bad usability.
Cheers, - Jon -

Similar Messages

  • Ring or combo box control of date

    Hi, I am developing a GUI with ring or combo box indicating possible date, i.e., month, day, and year. Or is there a way to create multiple items ran sequentially in a ring or combo box control.
    the time stamp is alright, but can't get rid of the current time display in the set time and date dialogue . thanks alot.

    Hi rookieprgmer,
    You will have to format the date into a string to create a ring that contains all the data for the month, date and year. One method for separating the date from a timestamp is to use the Get Date/Time String. You could then take the date string and use it in the ring or combo box. Attached is an example of how to use that function.
    What do you mean by running multiple items simultaneously in a ring or combo box?
    Hopefully I covered what you were asking about.
    Sappster
    Attachments:
    date.JPG ‏7 KB

  • Is there port of "HP Printer Control " app for Windows Phone?

    Are there port of "HP Printer Control " app for Windows Phone? This is at the same time request if there is not.
    Regards.

    Hello Zubru,
    I saw your post, good question! There are no apps at this time available for the windows phone however here is the link to the HP ePrint site to keep an eye out for any possible changes to that.
    Click the KUDOS star on the left to say “thanks” for helping!
    Please mark a reply “Accept as Solution” if it solved your issue so others can find it.
    I work on behalf of HP.
    I worked on behalf of HP.

  • There is any Scripting languages is used for mobile application development

    Is there is any Scripting languages is used for mobile application development?
    For example java script,vb script is used for web development.Like that is there is any scripting language is used for mobile application development along with J2me.
    Thanks & Regards, Sivakumar.J

    806437 wrote:
    .. is there is any scripting language is used for mobile application development along with J2me.If you are talking about javax.script,
    google ( [url http://www.google.com/search?q=java+me+javax.script]java me javax.script ) gave me http://sourceforge.net/projects/rhinoj2mecldc/

  • How to read data from data base so as to display as combo box control option

    hi
        i have stored some data in a table of database.now i want to use a combo box in front panel so as to have all data of that table as a option to select between then...i should be able to select any data so as to use as some input for some other program.......eg i have stored 5 names in a table.....now is it possilble to have a combo box with all those names as an input option to select from them....
    Abhimaniu

    Hi Abhimaniu,
    do you mean like this?
    Hope it helps.
    Mike
    Message Edited by MikeS81 on 05-29-2008 10:43 AM
    Attachments:
    Unbenannt1.PNG ‏7 KB

  • Are there any good black box testing tools for j2me?

    Is there any good testing tools available for testing software on physical mobile devices?
    I would like to partially replace manual testing with automated testing using a test tool. It should work on physical devices, and with the help of a script it should be possible to execute predefined sequences of button pressings on the device. Preferably there should also be some way of deciding whether the test was a succes without having to do so entirely manually.
    The purpose with this would be to make it easier to go through the test protocols, which has to be done before every new software release.
    Deviceanywhere.com looks promising at first glance but it is rather costly. Still, does anyone have an opinion of it?
    Does anyone has experience of Mobile junit for this kind of testing? Is it possible to define series of physical button pressings with it? At first glance it doesn't seem so.

    You can collect the Organizational Health in Exchange 2010 console for Exchange 2003/2007/2010 and that will list very useful information about statistics in your organization like servers, databases, CALs, recipient, feature used etc...
    Collect Organizational Health Data -
    http://technet.microsoft.com/en-us/library/dd351156%28v=exchg.141%29.aspx
    However it doesn't contain any configuration information and that you need to collect it manually because that depends on needs of each organization and how they want to setup their infrastructure...

  • I have an Ipad and it doesnt work. If I bring it to apple and pay will apple give me a new Ipad right there or will I have to wait for one to be shipped

    Will apple give me a new ipad in store if i pay to get the broken ipad fixed?

    They can swap it at the Genius Bar. Just make an appointment for before going in: https://expresslane.apple.com/

  • I using an event structure for an input box and also for hardware input

    Hi there!
    I have many input boxes and display boxes on my user interface and i have a case for it in the event structure. If the user changes the values of the input boxes, the particular event case writes this new value to the hardware. However, in the timeout section of the event structure, we read the inputs from the hardware and we set the value for its related display object.  Within the timeout section i set the value for the related user interface display component, by making use of the property node value.
    Furthermore, for most of the display components, i have a event case for a value change associated with it. In that event case, i check for range errors and so forth.
    My assumption was that when i read the value in from the hardware and set the property node value, the user interface component's value will change and it would then trigger the event of the value changed for that component. 
    My assumption worked to the point of updating the component's value, however, it did not trigger the event  for the value changed for this component.
    Please advise me on how to achieve what i wish to.
    Thanks.
    Regards,

    Local variables are actually much more efficient than property nodes as far as execution speed goes. Take that same VI and delete the property node and instead write to a local variable inside the loop. You'll see the speed nearly identical to writing directly to the indicator. But note that variables also cause a copy of the data to be created. So if you're just using the "Value" property, you're much better off using a local variable. But don't use both at the same time. If you are reading/writing other properties when you update/read the value, you might as well use the value property.
    Sometimes you can't get around using either variables or property nodes. Initializing controls to saved values from an ini file is one example. But in this case, they are only written to once as the application starts so the performance hit is negligible.
    One thing you can do is store values in a shift register as they are read and pass this through your application so the last value read can be accessed from anywhere. You can even create a cluster that runs through the shift register to hold several values in a single register. This can be expanded a bit farther to create what's called a Functional Global. This basically a subVI with a While loop that only runs once on each call. It has a shift register to store data and a Case structure to Read or Write data into the register. There's a pretty good example that ships with LabVIEW showing how these work. Open the Example finder and search for "Functional Global Communication". This example shows how to use them to pass data between two independent loops, but they work just as well in a single loop application.
    One of the big advantages of these Functional Globals over the standard LabVIEW Globals and local variables is that you can add cases to manipulate the data in addition to just storing it. Also, since it's a subVI, access to the data is protected to one caller at a time whereas variables can have multiple reads and/or writes at the same time. This can cause race conditions.
    Hope that helps a bit.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.

  • Is there a good, free parental control software for mac

    Hi,
    Wondering if there is a good parental software you can download onto Macbook Pro that is free or a paid option that is really good?
    Thanks in advance folk. D

    It is built-in and already there.
    here is a video:
    Mac OS X: Parental Controls

  • Combo boxes appear in reverse and info cannot be read when selected

    Half of my combo boxes appear normal and half appear with the drop down arrow on the right side of the box. the choices, when selected, appear above the arrow and are barely legible. some of the boxes appear perfectly normal and some are like this with no apparent reason as to why. I have not changed combo box settings through the duration of my project to make this happen, so it appears random. . . I have already done hundreds of pages and need to go back and check all of these again but need to do it right this time!
    any help would be great,
    thanks all

    My mistake, the combo boxes in question are appearing inverted where the arrow appears on the left side facing upwards. and the answers, when chosen, appear above that arrow and are cut off by the top edge of the combo box.
    i also just found out that it does not happen in some pdf viewers. when viewed in adobe reader or google chrome it's fine, but when viewed in Mac Preview the inverted arrow happens.
    could there be a bug in preview?
    thanks for the responses guys!

  • Powershell Unique Selections for Multiple Combo Boxes

    I am currently working on a powershell script that will use 4 combo box controls. I would like for them to all use the same data source whether it be an array or just a .txt file. I would like for each selection to be unique so that no 2 combo boxes can
    have the same item selected. Is there a way to hide the item selected in the data source so the other combo boxes do not even have the option to select it and then when the user changes the item in one of the combo boxes the item is available again? 

    What I am looking do do is have a list of values (T1111,T1112,T1113,T1114) to be selected from by 4 combo boxes. Each value can only be selected once so if one combo box picks T1111 the other 3 do not have that option in its selection. So far I reload the
    combo boxes ever time a selection is made and remove the option from the array, but I was looking to see if there is a better way. As it currently stands, getting distinct values isn't working.
    Code snippet to remove item from array:
    function Get-DataSource
    $array = @("T1111", "T1112", "T1113", "T1114")
    $combo1 = $combobox1.SelectedItem.ToString()
    $combo2 = $combobox2.SelectedItem.ToString()
    $array = $array | Where-Object -FilterScript { $_ -ne $combo1 }
    $array = $array | Where-Object -FilterScript { $_ -ne $combo2 }
    return $array
    I apologize for not uploading my code.
    function OnApplicationLoad {
    #Note: This function is not called in Projects
    #Note: This function runs before the form is created
    #Note: To get the script directory in the Packager use: Split-Path $hostinvocation.MyCommand.path
    #Note: To get the console output in the Packager (Windows Mode) use: $ConsoleOutput (Type: System.Collections.ArrayList)
    #Important: Form controls cannot be accessed in this function
    #TODO: Add modules and custom code to validate the application load
    return $true #return true for success or false for failure
    function OnApplicationExit {
    #Note: This function is not called in Projects
    #Note: This function runs after the form is closed
    #TODO: Add custom code to clean up and unload modules when the application exits
    $script:ExitCode = 0 #Set the exit code for the Packager
    #endregion Application Functions;2
    # Generated Form Function
    function Call-tenet_psf {
    #region Import the Assemblies
    [void][reflection.assembly]::Load('mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
    [void][reflection.assembly]::Load('System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
    [void][reflection.assembly]::Load('System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
    [void][reflection.assembly]::Load('System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
    [void][reflection.assembly]::Load('System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
    [void][reflection.assembly]::Load('System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
    [void][reflection.assembly]::Load('System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
    [void][reflection.assembly]::Load('System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
    [void][reflection.assembly]::Load('System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
    #endregion Import Assemblies
    #region Generated Form Objects
    [System.Windows.Forms.Application]::EnableVisualStyles()
    $form1 = New-Object 'System.Windows.Forms.Form'
    $combobox2 = New-Object 'System.Windows.Forms.ComboBox'
    $combobox1 = New-Object 'System.Windows.Forms.ComboBox'
    $buttonOK = New-Object 'System.Windows.Forms.Button'
    $InitialFormWindowState = New-Object 'System.Windows.Forms.FormWindowState'
    #endregion Generated Form Objects
    # User Generated Script
    function OnApplicationLoad {
    #Note: This function is not called in Projects
    #Note: This function runs before the form is created
    #Note: To get the script directory in the Packager use: Split-Path $hostinvocation.MyCommand.path
    #Note: To get the console output in the Packager (Windows Mode) use: $ConsoleOutput (Type: System.Collections.ArrayList)
    #Important: Form controls cannot be accessed in this function
    #TODO: Add modules and custom code to validate the application load
    return $true #return true for success or false for failure
    function OnApplicationExit {
    #Note: This function is not called in Projects
    #Note: This function runs after the form is closed
    #TODO: Add custom code to clean up and unload modules when the application exits
    $script:ExitCode = 0 #Set the exit code for the Packager
    $FormEvent_Load={
    #TODO: Initialize Form Controls here
    Load-ComboBox $combobox1 (Get-DataSource)
    Load-ComboBox $combobox2 (Get-DataSource)
    function Get-DataSource
    $array = @("T1111", "T1112", "T1113", "T1114")
    $combo1 = $combobox1.SelectedItem.ToString()
    $combo2 = $combobox2.SelectedItem.ToString()
    $array = $array | Where-Object -FilterScript { $_ -ne $combo1 }
    $array = $array | Where-Object -FilterScript { $_ -ne $combo2 }
    return $array
    #region Control Helper Functions
    function Load-ComboBox
    <#
    .SYNOPSIS
    This functions helps you load items into a ComboBox.
    .DESCRIPTION
    Use this function to dynamically load items into the ComboBox control.
    .PARAMETER  ComboBox
    The ComboBox control you want to add items to.
    .PARAMETER  Items
    The object or objects you wish to load into the ComboBox's Items collection.
    .PARAMETER  DisplayMember
    Indicates the property to display for the items in this control.
    .PARAMETER  Append
    Adds the item(s) to the ComboBox without clearing the Items collection.
    .EXAMPLE
    Load-ComboBox $combobox1 "Red", "White", "Blue"
    .EXAMPLE
    Load-ComboBox $combobox1 "Red" -Append
    Load-ComboBox $combobox1 "White" -Append
    Load-ComboBox $combobox1 "Blue" -Append
    .EXAMPLE
    Load-ComboBox $combobox1 (Get-Process) "ProcessName"
    #>
    Param (
    [ValidateNotNull()]
    [Parameter(Mandatory=$true)]
    [System.Windows.Forms.ComboBox]$ComboBox,
    [ValidateNotNull()]
    [Parameter(Mandatory=$true)]
    $Items,
       [Parameter(Mandatory=$false)]
    [string]$DisplayMember,
    [switch]$Append
    if(-not $Append)
    $ComboBox.Items.Clear()
    if($Items -is [Object[]])
    $ComboBox.Items.AddRange($Items)
    elseif ($Items -is [Array])
    $ComboBox.BeginUpdate()
    foreach($obj in $Items)
    $ComboBox.Items.Add($obj)
    $ComboBox.EndUpdate()
    else
    $ComboBox.Items.Add($Items)
    $ComboBox.DisplayMember = $DisplayMember
    $combobox1_SelectedIndexChanged={
    #TODO: Place custom script here
    Load-ComboBox $combobox2 -Items (Get-DataSource)
    $combobox2_SelectedIndexChanged={
    #TODO: Place custom script here
    Load-ComboBox $combobox1 -Items (Get-DataSource)
    # --End User Generated Script--
    #region Generated Events
    $Form_StateCorrection_Load=
    #Correct the initial state of the form to prevent the .Net maximized form issue
    $form1.WindowState = $InitialFormWindowState
    $Form_Cleanup_FormClosed=
    #Remove all event handlers from the controls
    try
    $combobox2.remove_SelectedIndexChanged($combobox2_SelectedIndexChanged)
    $combobox1.remove_SelectedIndexChanged($combobox1_SelectedIndexChanged)
    $form1.remove_Load($FormEvent_Load)
    $form1.remove_Load($Form_StateCorrection_Load)
    $form1.remove_FormClosed($Form_Cleanup_FormClosed)
    catch [Exception]
    #endregion Generated Events
    #region Generated Form Code
    $form1.SuspendLayout()
    # form1
    $form1.Controls.Add($combobox2)
    $form1.Controls.Add($combobox1)
    $form1.Controls.Add($buttonOK)
    $form1.AcceptButton = $buttonOK
    $form1.ClientSize = '614, 289'
    $form1.FormBorderStyle = 'FixedDialog'
    $form1.MaximizeBox = $False
    $form1.MinimizeBox = $False
    $form1.Name = "form1"
    $form1.StartPosition = 'CenterScreen'
    $form1.Text = "Form"
    $form1.add_Load($FormEvent_Load)
    # combobox2
    $combobox2.FormattingEnabled = $True
    $combobox2.Location = '123, 92'
    $combobox2.Name = "combobox2"
    $combobox2.Size = '121, 21'
    $combobox2.TabIndex = 2
    $combobox2.add_SelectedIndexChanged($combobox2_SelectedIndexChanged)
    # combobox1
    $combobox1.FormattingEnabled = $True
    $combobox1.Location = '123, 64'
    $combobox1.Name = "combobox1"
    $combobox1.Size = '121, 21'
    $combobox1.TabIndex = 1
    $combobox1.add_SelectedIndexChanged($combobox1_SelectedIndexChanged)
    # buttonOK
    $buttonOK.Anchor = 'Bottom, Right'
    $buttonOK.DialogResult = 'OK'
    $buttonOK.Location = '140, 254'
    $buttonOK.Name = "buttonOK"
    $buttonOK.Size = '75, 23'
    $buttonOK.TabIndex = 0
    $buttonOK.Text = "&OK"
    $buttonOK.UseVisualStyleBackColor = $True
    $form1.ResumeLayout()
    #endregion Generated Form Code
    #Save the initial state of the form
    $InitialFormWindowState = $form1.WindowState
    #Init the OnLoad event to correct the initial state of the form
    $form1.add_Load($Form_StateCorrection_Load)
    #Clean up the control events
    $form1.add_FormClosed($Form_Cleanup_FormClosed)
    #Show the Form
    return $form1.ShowDialog()
    } #End Function
    #Call OnApplicationLoad to initialize
    if((OnApplicationLoad) -eq $true)
    #Call the form
    Call-tenet_psf | Out-Null
    #Perform cleanup
    OnApplicationExit

  • Silver Combo Box Display Style Bug

    [LV2011, Windows XP]
    There appears to be a small bug with the Silver-style Combo Box control when you right-click and select Visible Items->Display Style.  For the string control a glyph appears properly, but for the combo box the glyph appears in the wrong place, and the colours are wrong.  In fact, the glyph only appears properly if you click on it, or do something else to force a redraw of the control.
    This combo box is a bit confusing, since it has no "Radix Shadow" part like the string control does, and in fact only the Silver-style combo box lets you display the "Display Type" glyph.  The other styles of combo box have no "Display Type" feature in the "Visible Items" menu, but the "Display Style Visible" checkbox does appear on the "Appearance" tab of the Properties dialog box (though checking it has no effect, and it appears unchecked if you re-launch the dialog box".
    I've attached a new version of the control which is close to fixing the bug, but the glyph region is 1 pixel skinnier than the string version.  Copy this to your "..\vi.lib\silver_ctls\String" folder if you want it to replace the version in the palettes.
    Jaegen
    Solved!
    Go to Solution.
    Attachments:
    Combo Box NI_Silver.ctl ‏6 KB

    Jaegen:
    Good catch, there is now a Corrective Action Request filed for this issue. It is correct that this property is
    not supported by the Combo Box found in the Modern Palette. However, this should at least be documented in the
    "Display Style Visible" property documentation if this is case, which it is not.
    Thanks for alerting us to this error and if you would like to follow the CAR, look for CAR# 312717 listed in
    bug fix reports for later releases of LabVIEW.
    Please let me know if you have any questions or need any more help with this issue.
    Tori W.
    National Instruments

  • Use Combo Boxes and Datepart "m" and "y" to filter forms and reports

    I am trying to build a Form to filter through Sales Order Records going back up to four years to find purchasing patterns of  customers and to find more potential sales.  I am using a simple main form, with 2 subforms joined on the Sales Representative
    [accntrep], one which show current orders for a given month and the other orders from past months and years.  I've got 3 combo boxes, 1 to select sales representative, 1 to select a month using date part and 1 to select a month.  This would be very
    flexible in easily searching any month in any year of the recordset.  I know I will be using something like "DatePart("m",[Date])=2 And Year([Date])=Year(Date())-4" (Feb 2011) to filter my records, but I am having troubling writing
    the procedure just right.  I am using 2-column combo boxes 1 column for text i.e (April, May, June etc.) and a second for the Date Part Expression.  I think I need to concatenate the values into the filter, but I cannot come up with exactly how to
    get this done.  Any ideas??
    Thanks,
    js

    If there is any doubt in your mind then I  will suggest a sanity debug trick; temporarily add 2 textboxes
    in T1 put its control source: =ComboBoxNameMonth
    in T2 put its control source: =ComboBoxNameYear
    don't put what I typed - put in their actual control names for those 2 comboboxes
    this way you can see what is actually the value of those combo boxes... depending on what they are bound to - those values may not be what you are expecting them to be.....obviously alter the properties of the comboboxes until they have the values they should
    Am a little unclear on filtering your records in regard to how the data is not structured whether for example: Nov 2015 is in 2 separate fields or a single field like 11/2015 or what - not sure it is a true date field or possibly a text field...so
    the next part of this depends on the data structure.

  • Change combo box selection dynamically?

    I would like to have a combo box change its selection dynamically according to what is selected in another selector.  As far as I can tell from reading the Help, this feature is available for List Boxes, List Views and List Builders only ("The Dynamic Selected Item functionality is available in list-based selectors") and based on the wording I assume that it is currently unavailable for other components.  Is this true?  If so I would like to formally request that other selectors - particularly combo boxes - be included.
    The use case for me is this: After the user has already inputted information and digested some of the output, they eventually reach a section of the project that appears only under certain conditions.  This area is about 800 pixels to the right of the original combo box in the inputs area, and so in order to quickly change that selection they would have to go look for the original selector, which could easily discourage them from browsing that particular selection.  Hopefully this makes sense.
    It would also be great to hear back that this kind of feature request can actually be made in this way.  I've submitted a few similar requests in the past and did not see an acknowledgment, and so I am still unclear as to whether or not feature requests are even possible.
    (Edit: I thought about creating duplicate overlapping instances of the combo boxes in question and, using dynamic visibility, control which appears according to the current selection.  But this is only suitable for smaller lists).

    >
    Alan McClean wrote:
    > To get around it I shuffled my selection list dynamically, so that the one I wanted appeared at the correct place. I did this using the source data component and some Excel logic. However, it is buggy and a lot of work.
    Thanks, Alan.  I am currently working on a similar solution.  Seems to be the best for my situation, but it is far from elegant.
    >
    Charles Davies wrote:
    > Just a thought, would the Filter component work for you?
    The Filter component requires that the underlying Excel data be structured in a pretty specific way.  As far as I can tell, I would probably have to rip apart my XLS and redesign it in order to make use of that component.  Perhaps in a future generation I'll give it a go, but I've already gone through too many redesigns this time around.

  • Using Combo box at the backend

    Hi,
    I am using combo box at the backend to filter rows to a particular destination.
    The problem is the labels are going to populate at the runtime and the selection of item in combo box is also going to populate at the run time. I have an icon which inserts eg: country in a cell, then this cells is used by combo box as a item selection(label) to filter rows from source. But unfortunately the comb box is not selecting any value i.e no item is selected dynamically. But if i manually drill down it is working but the label is not changing dynamically based on the changes in label by icon.
    For eg my data:
    Country and profit populate at run time
    Country          Profit
    India               5000
    Germany        4000
    Now i have icon which selects country (hard coded in excel) upon clicking the mouse on it and inserts in A1 suppose the value hardcoded is "India". Now this A1 is used as a "selected item" for combo box. the source to combo box is the above country and profit which populates at run time.
    Now when i execute the dashboard. The value is inserted in A1 after clicking the icon but it is not picked up by combo box as "item selected" and hence combo box does not filter any data.
    Can any pls help.
    Thank you. I will award full points for correct solution.

    Hi Monammed,
    The said functionality should work. Please check your logic one more time. Also, try using some spreadsheet components mapped to the cells in question and understand how the data is flowing during run-time. This will help you test things. Delete spreadsheets when you are done with identifying the issue.
    Lets check the combo box mapping one more time : Map the source of the combo to the entire range; labels in the combo box ONLY to the country column in the source range(typically this may be the left most column in the range); selected item should be mapped to the cell that has the destination for the icon and the type for default selection may be dynamic. Well, if there is any hard-coding of values involved anywhere, do check the spellings and other trivial things.
    Do let me know if this was helpful and if you need any more help.
    Thanks,
    Prasanna

Maybe you are looking for