Browse Source

Added a new soft-keyboard type TextInputTarget::decimalKeyboard.

tags/2021-05-28
jules 10 years ago
parent
commit
854a3e98d0
4 changed files with 10 additions and 8 deletions
  1. +1
    -0
      modules/juce_gui_basics/keyboard/juce_TextInputTarget.h
  2. +1
    -7
      modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp
  3. +1
    -0
      modules/juce_gui_basics/native/juce_android_Windowing.cpp
  4. +7
    -1
      modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm

+ 1
- 0
modules/juce_gui_basics/keyboard/juce_TextInputTarget.h View File

@@ -79,6 +79,7 @@ public:
{
textKeyboard = 0,
numericKeyboard,
decimalKeyboard,
urlKeyboard,
emailAddressKeyboard,
phoneNumberKeyboard


+ 1
- 7
modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp View File

@@ -1455,28 +1455,22 @@ Label* LookAndFeel_V2::createSliderTextBox (Slider& slider)
Label* const l = new SliderLabelComp();
l->setJustificationType (Justification::centred);
l->setKeyboardType (TextInputTarget::decimalKeyboard);
l->setColour (Label::textColourId, slider.findColour (Slider::textBoxTextColourId));
l->setColour (Label::backgroundColourId,
(slider.getSliderStyle() == Slider::LinearBar || slider.getSliderStyle() == Slider::LinearBarVertical)
? Colours::transparentBlack
: slider.findColour (Slider::textBoxBackgroundColourId));
l->setColour (Label::outlineColourId, slider.findColour (Slider::textBoxOutlineColourId));
l->setColour (TextEditor::textColourId, slider.findColour (Slider::textBoxTextColourId));
l->setColour (TextEditor::backgroundColourId,
slider.findColour (Slider::textBoxBackgroundColourId)
.withAlpha ((slider.getSliderStyle() == Slider::LinearBar || slider.getSliderStyle() == Slider::LinearBarVertical)
? 0.7f : 1.0f));
l->setColour (TextEditor::outlineColourId, slider.findColour (Slider::textBoxOutlineColourId));
l->setColour (TextEditor::highlightColourId, slider.findColour (Slider::textBoxHighlightColourId));
l->setKeyboardType (TextInputTarget::numericKeyboard);
return l;
}


+ 1
- 0
modules/juce_gui_basics/native/juce_android_Windowing.cpp View File

@@ -385,6 +385,7 @@ public:
{
case TextInputTarget::textKeyboard: return "text";
case TextInputTarget::numericKeyboard: return "number";
case TextInputTarget::decimalKeyboard: return "numberDecimal";
case TextInputTarget::urlKeyboard: return "textUri";
case TextInputTarget::emailAddressKeyboard: return "textEmailAddress";
case TextInputTarget::phoneNumberKeyboard: return "phone";


+ 7
- 1
modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm View File

@@ -862,12 +862,18 @@ void UIViewComponentPeer::textInputRequired (Point<int>, TextInputTarget&)
{
}
static bool isIOS4_1() noexcept
{
return [[[UIDevice currentDevice] systemVersion] doubleValue] >= 4.1;
}
static UIKeyboardType getUIKeyboardType (TextInputTarget::VirtualKeyboardType type) noexcept
{
switch (type)
{
case TextInputTarget::textKeyboard: return UIKeyboardTypeAlphabet;
case TextInputTarget::numericKeyboard: return UIKeyboardTypeNumbersAndPunctuation;
case TextInputTarget::numericKeyboard: return isIOS4_1() ? UIKeyboardTypeNumberPad : UIKeyboardTypeNumbersAndPunctuation;
case TextInputTarget::decimalKeyboard: return isIOS4_1() ? UIKeyboardTypeDecimalPad : UIKeyboardTypeNumbersAndPunctuation;
case TextInputTarget::urlKeyboard: return UIKeyboardTypeURL;
case TextInputTarget::emailAddressKeyboard: return UIKeyboardTypeEmailAddress;
case TextInputTarget::phoneNumberKeyboard: return UIKeyboardTypePhonePad;


Loading…
Cancel
Save