Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Script Runner Crash Using message_box With Boolean Parameter #326

Closed
Pie56694 opened this issue Sep 7, 2016 · 1 comment
Closed

Script Runner Crash Using message_box With Boolean Parameter #326

Pie56694 opened this issue Sep 7, 2016 · 1 comment
Labels
Milestone

Comments

@Pie56694
Copy link

Pie56694 commented Sep 7, 2016

I want to remove the default "Cancel" button when calling message_box. COSMOS 3.8.0 crashes immediately with:
message_box("Text", "Button Text", false)

@jmthomas
Copy link
Contributor

jmthomas commented Sep 9, 2016

It crashes because all the items must be Strings which get turned into button text. For now you can put the following code in your lib folder to achieve what you want:

require 'cosmos/script/script'
module Cosmos
  module Script
    private
    def my_message_box(string, *buttons)
      loop do
        result = nil
        _get_main_thread_gui do |window|
          msg = Qt::MessageBox.new(window)
          msg.setText(string)
          msg.setWindowTitle("Message Box")
          buttons.each {|text| msg.addButton(text, Qt::MessageBox::AcceptRole)}
          msg.exec()
          Logger.info "User pressed '#{msg.clickedButton.text}' for '#{string}'"
          result = msg.clickedButton.text
          msg.dispose
        end
        return result
      end
    end
  end # module Script

If the file is called my_script.rb you would use it like so in Script Runner:

load 'my_script.rb'
my_message_box("Text", "Yes", "No", "Maybe")

@ghost ghost added the feature label Dec 6, 2016
@ghost ghost added this to the v3.8.3 milestone Dec 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants