本文整理汇总了C++中MX_BIN函数的典型用法代码示例。如果您正苦于以下问题:C++ MX_BIN函数的具体用法?C++ MX_BIN怎么用?C++ MX_BIN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MX_BIN函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mex_queue_button_init
static void
mex_queue_button_init (MexQueueButton *self)
{
ClutterActor *temp_text;
self->priv = QUEUE_BUTTON_PRIVATE (self);
self->priv->inner_box = mx_box_layout_new ();
self->priv->icon = mx_icon_new ();
self->priv->label = mx_label_new_with_text ("Unknown queue state");
self->priv->spinner = mx_spinner_new ();
self->priv->queue_model = mex_queue_model_dup_singleton ();
g_signal_connect (self->priv->spinner,
"looped",
(GCallback)_spinner_looped_cb,
self);
clutter_container_add (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->label,
self->priv->icon,
self->priv->spinner,
NULL);
clutter_container_child_set (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->label,
"expand", TRUE,
"y-align", MX_ALIGN_MIDDLE,
"y-fill", FALSE,
NULL);
clutter_container_child_set (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->icon,
"y-align", MX_ALIGN_MIDDLE,
"y-fill", FALSE,
"x-align", MX_ALIGN_END,
NULL);
clutter_container_child_set (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->spinner,
"y-align", MX_ALIGN_MIDDLE,
"y-fill", FALSE,
"x-align", MX_ALIGN_END,
NULL);
clutter_actor_hide (self->priv->spinner);
mx_bin_set_child (MX_BIN (self), self->priv->inner_box);
mx_bin_set_fill (MX_BIN (self), TRUE, FALSE);
temp_text = mx_label_get_clutter_text (MX_LABEL (self->priv->label));
clutter_text_set_ellipsize (CLUTTER_TEXT (temp_text), PANGO_ELLIPSIZE_NONE);
g_signal_connect (self,
"notify::toggled",
(GCallback)_queue_button_notify_toggled_cb,
self);
mx_button_set_is_toggle (MX_BUTTON (self), TRUE);
}
示例2: mx_bin_remove
static void
mx_bin_remove (ClutterContainer *container,
ClutterActor *actor)
{
MxBinPrivate *priv = MX_BIN (container)->priv;
if (priv->child == actor)
mx_bin_set_child (MX_BIN (container), NULL);
}
示例3: mex_telepathy_channel_create_busy_box
static void
mex_telepathy_channel_create_busy_box (MexTelepathyChannel *self)
{
MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;
ClutterActor *calling_padding;
ClutterActor *calling_box;
ClutterActor *spinner;
ClutterActor *stack;
priv->busy_label = mx_label_new();
mx_label_set_y_align (MX_LABEL (priv->busy_label), MX_ALIGN_MIDDLE);
mx_label_set_x_align (MX_LABEL (priv->busy_label), MX_ALIGN_MIDDLE);
spinner = mx_spinner_new ();
calling_box = mx_box_layout_new ();
mx_box_layout_add_actor_with_properties (MX_BOX_LAYOUT (calling_box),
priv->busy_label,
0,
"expand",
TRUE,
"x-align",
MX_ALIGN_START,
"x-fill",
TRUE,
NULL);
mx_box_layout_add_actor_with_properties (MX_BOX_LAYOUT (calling_box),
spinner,
1,
"expand",
TRUE,
"x-align",
MX_ALIGN_END,
"x-fill",
FALSE,
NULL);
priv->busy_box = mx_frame_new ();
clutter_actor_set_width (CLUTTER_ACTOR (priv->busy_box), 475);
mx_stylable_set_style_class (MX_STYLABLE (priv->busy_box),
"CallingFrameBorder");
calling_padding = mx_frame_new ();
mx_stylable_set_style_class (MX_STYLABLE (calling_padding),
"CallingFrame");
mx_bin_set_child (MX_BIN (priv->busy_box), calling_padding);
mx_bin_set_fill (MX_BIN (priv->busy_box), TRUE, TRUE);
mx_bin_set_child (MX_BIN (calling_padding), calling_box);
mx_bin_set_fill (MX_BIN (calling_padding), TRUE, TRUE);
stack = mx_window_get_child (mex_get_main_window ());
clutter_container_add (CLUTTER_CONTAINER (stack), priv->busy_box, NULL);
mx_stack_child_set_x_fill (MX_STACK (stack), priv->busy_box, FALSE);
mx_stack_child_set_y_fill (MX_STACK (stack), priv->busy_box, FALSE);
}
示例4: mpl_application_view_init
static void
mpl_application_view_init (MplApplicationView *self)
{
MplApplicationViewPrivate *priv;
ClutterActor *actor = CLUTTER_ACTOR (self);
priv = self->priv = APPLICATION_VIEW_PRIVATE (self);
/* tile */
clutter_actor_set_reactive (actor, TRUE);
mx_stylable_set_style_class (MX_STYLABLE (actor), "switcherTile");
clutter_actor_set_size (actor, TILE_WIDTH, TILE_HEIGHT);
g_signal_connect (self, "button-release-event",
G_CALLBACK (activate_clicked), NULL);
priv->title_box = mx_box_layout_new_with_orientation (MX_ORIENTATION_VERTICAL);
clutter_actor_set_parent (priv->title_box, actor);
/* title */
priv->title = mx_label_new ();
mx_label_set_y_align (MX_LABEL (priv->title), MX_ALIGN_MIDDLE);
mx_stylable_set_style_class (MX_STYLABLE (priv->title), "appTitle");
mx_box_layout_add_actor (MX_BOX_LAYOUT (priv->title_box), priv->title, 0);
mx_box_layout_child_set_expand (MX_BOX_LAYOUT (priv->title_box),
priv->title, TRUE);
/* subtitle */
priv->subtitle = mx_label_new ();
mx_label_set_y_align (MX_LABEL (priv->subtitle), MX_ALIGN_MIDDLE);
mx_stylable_set_style_class (MX_STYLABLE (priv->subtitle), "appSubTitle");
mx_box_layout_add_actor (MX_BOX_LAYOUT (priv->title_box), priv->subtitle, 1);
mx_box_layout_child_set_expand (MX_BOX_LAYOUT (priv->title_box),
priv->subtitle, FALSE);
/* close button */
priv->close_button = mx_button_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->close_button), "appCloseButton");
clutter_actor_set_parent (priv->close_button, actor);
g_signal_connect (priv->close_button, "clicked",
G_CALLBACK (close_btn_clicked), self);
/* frame */
priv->app_frame = mx_frame_new ();
clutter_actor_set_size (priv->app_frame, 250, 100);
mx_stylable_set_style_class (MX_STYLABLE (priv->app_frame), "appBackground");
clutter_actor_set_parent (priv->app_frame, actor);
/* shadow */
priv->shadow = mx_frame_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->shadow), "appShadow");
mx_bin_set_child (MX_BIN (priv->app_frame), priv->shadow);
mx_bin_set_fill (MX_BIN (priv->app_frame), FALSE, FALSE);
clutter_actor_show_all (actor);
}
示例5: create_header
static void
create_header (MexEpgGrid *grid)
{
MexEpgGridPrivate *priv = grid->priv;
GTimeSpan diff;
GDateTime *time_, *old_time;
gint n_headers, i;
gchar *time_str;
diff = g_date_time_difference (priv->last_date, priv->first_date);
n_headers = (diff * 1e-6 / 60. / 30) + 1; /* number of 30mins slices */
if (MEX_DEBUG_ENABLED (EPG))
{
gchar *first_str, *last_str;
first_str = mex_date_to_string (priv->first_date);
last_str = mex_date_to_string (priv->last_date);
MEX_NOTE (EPG, "Creating header between %s and %s (%d columns)",
first_str, last_str, n_headers);
g_free (first_str);
g_free (last_str);
}
g_ptr_array_set_size (priv->header, n_headers);
time_ = g_date_time_ref (priv->first_date);
for (i = 0; i < n_headers; i++)
{
ClutterActor *frame, *label;
/* a Frame for 30 mins, each frame has a label in it */
frame = mx_frame_new ();
clutter_actor_set_parent (frame, CLUTTER_ACTOR (grid));
mx_stylable_set_style_class (MX_STYLABLE (frame), "EpgHeader");
clutter_actor_set_size (frame,
6 * priv->pixels_for_5_mins,
HEADER_HEIGHT);
time_str = g_date_time_format (time_, "%H:%M");
label = mx_label_new_with_text (time_str);
mx_bin_set_child (MX_BIN (frame), label);
mx_bin_set_alignment (MX_BIN (frame), MX_ALIGN_START, MX_ALIGN_MIDDLE);
g_ptr_array_index (priv->header, i) = frame;
g_free (time_str);
old_time = time_;
time_ = g_date_time_add_minutes (time_, 30);
g_date_time_unref (old_time);
}
g_date_time_unref (time_);
}
示例6: tile_created_cb
static void
tile_created_cb (MexProxy *proxy,
GObject *content,
GObject *object,
gpointer controls)
{
const gchar *mime_type;
ClutterEffect *effect;
ClutterColor color = { 0, 0, 0, 60 };
/* filter out folders */
mime_type = mex_content_get_metadata (MEX_CONTENT (content),
MEX_CONTENT_METADATA_MIMETYPE);
if (g_strcmp0 (mime_type, "x-grl/box") == 0)
{
g_signal_stop_emission_by_name (proxy, "object-created");
return;
}
mex_tile_set_important (MEX_TILE (object), TRUE);
clutter_actor_set_reactive (CLUTTER_ACTOR (object), TRUE);
g_object_set (object, "thumb-height", 140, "thumb-width", 250, NULL);
g_signal_connect (object, "key-press-event", G_CALLBACK (key_press_event_cb),
controls);
g_signal_connect (object, "button-release-event",
G_CALLBACK (button_release_event_cb), controls);
effect = g_object_new (MEX_TYPE_SHADOW,
"radius-x", 15,
"radius-y", 15,
"color", &color,
"enabled", FALSE,
NULL);
clutter_actor_add_effect_with_name (CLUTTER_ACTOR (object), "shadow", effect);
effect = g_object_new (MEX_TYPE_SHADOW,
"radius-x", 15,
"radius-y", 15,
"color", &color,
NULL);
clutter_actor_add_effect_with_name (mx_bin_get_child (MX_BIN (object)),
"shadow", effect);
g_signal_connect (object, "focus-in", G_CALLBACK (tile_focus_in_cb), NULL);
g_signal_connect (object, "focus-out", G_CALLBACK (tile_focus_out_cb), NULL);
tile_focus_out_cb (MX_BIN (object));
}
示例7: dawati_bt_device_init
static void
dawati_bt_device_init (DawatiBtDevice *device)
{
ClutterActor *button;
DawatiBtDevicePrivate *priv = GET_PRIVATE (device);
mx_stylable_set_style_class (MX_STYLABLE (device), "BtDevice");
priv->label = mx_label_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->label), "BtTitle");
mx_box_layout_insert_actor_with_properties (MX_BOX_LAYOUT (device), priv->label, -1,
"expand", TRUE,
"x-fill", FALSE,
"y-fill", FALSE,
"x-align", MX_ALIGN_START,
"y-align", MX_ALIGN_MIDDLE,
NULL);
button = mx_button_new ();
mx_stylable_set_style_class (MX_STYLABLE (button), "BtCloseButton");
mx_bin_set_child (MX_BIN (button), mx_icon_new ());
g_signal_connect (button, "clicked",
G_CALLBACK (_disconnect_clicked_cb), device);
mx_box_layout_insert_actor (MX_BOX_LAYOUT (device), button, -1);
}
示例8: _create_power_dialog
static gboolean
_create_power_dialog (MexInfoBar *self)
{
MexInfoBarPrivate *priv = self->priv;
ClutterActor *dialog, *dialog_label;
MxAction *cancel_action, *shutdown_action;
dialog = mx_dialog_new ();
mx_stylable_set_style_class (MX_STYLABLE (dialog), "MexInfoBarDialog");
dialog_label = mx_label_new_with_text (_("Close Media Explorer?"));
mx_stylable_set_style_class (MX_STYLABLE (dialog_label), "DialogHeader");
mx_bin_set_child (MX_BIN (dialog), dialog_label);
shutdown_action = mx_action_new_full ("yes", _("Yes"),
G_CALLBACK (_close_request_cb), self);
cancel_action = mx_action_new_full ("no", _("No"),
G_CALLBACK (_close_dialog_cb), self);
mx_dialog_add_action (MX_DIALOG (dialog), shutdown_action);
mx_dialog_add_action (MX_DIALOG (dialog), cancel_action);
priv->power_dialog = g_object_ref (dialog);
clutter_actor_show (dialog);
return TRUE;
}
示例9: mex_telepathy_channel_create_incoming_video
static void
mex_telepathy_channel_create_incoming_video (MexTelepathyChannel *self)
{
MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;
ClutterActor *video_incoming_area;
/* Setup the incoming surface to draw to */
priv->incoming_texture = clutter_texture_new ();
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (priv->incoming_texture),
TRUE);
video_incoming_area = mx_stack_new ();
clutter_container_add (CLUTTER_CONTAINER (video_incoming_area),
mex_telepathy_channel_create_static_image(),
priv->incoming_texture,
NULL);
/* Create a frame for it with a styled border */
priv->full_frame = mx_frame_new();
clutter_actor_set_name (priv->full_frame, "Incoming Frame");
mx_bin_set_fill (MX_BIN (priv->full_frame), TRUE, TRUE);
mx_stylable_set_style_class (MX_STYLABLE (priv->full_frame),
"CallWindow");
clutter_actor_add_effect (priv->full_frame,
CLUTTER_EFFECT (
mex_telepathy_channel_create_shadow ()));
clutter_container_add_actor (CLUTTER_CONTAINER (priv->full_frame),
video_incoming_area);
priv->incoming_sink =
clutter_gst_video_sink_new (CLUTTER_TEXTURE (priv->incoming_texture));
}
示例10: art_cb
static void
art_cb (RBExtDBKey *key, const char *filename, GValue *data, MxFrame *frame)
{
ClutterActor *image;
GdkPixbuf *pixbuf;
if (data == NULL || G_VALUE_HOLDS (data, GDK_TYPE_PIXBUF) == FALSE) {
return;
}
clutter_threads_enter ();
image = gtk_clutter_texture_new ();
pixbuf = GDK_PIXBUF (g_value_get_object (data));
gtk_clutter_texture_set_from_pixbuf (GTK_CLUTTER_TEXTURE (image), pixbuf, NULL);
if (clutter_actor_get_height (image) > MAX_IMAGE_HEIGHT) {
clutter_actor_set_height (image, MAX_IMAGE_HEIGHT);
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (image), TRUE);
}
if (clutter_actor_get_width (image) > MAX_IMAGE_HEIGHT) {
clutter_actor_set_width (image, MAX_IMAGE_HEIGHT);
}
mx_bin_set_child (MX_BIN (frame), image);
clutter_actor_show_all (CLUTTER_ACTOR (frame));
clutter_threads_leave ();
}
示例11: mx_bin_get_property
static void
mx_bin_get_property (GObject *gobject,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
MxBinPrivate *priv = MX_BIN (gobject)->priv;
switch (prop_id)
{
case PROP_CHILD:
g_value_set_object (value, priv->child);
break;
case PROP_X_FILL:
g_value_set_boolean (value, priv->x_fill);
break;
case PROP_Y_FILL:
g_value_set_boolean (value, priv->y_fill);
break;
case PROP_X_ALIGN:
g_value_set_enum (value, priv->x_align);
break;
case PROP_Y_ALIGN:
g_value_set_enum (value, priv->y_align);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
}
}
示例12: mex_telepathy_channel_create_preview
static void
mex_telepathy_channel_create_preview (MexTelepathyChannel *self)
{
MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;
ClutterActor *video_preview_area;
priv->video_outgoing = clutter_texture_new ();
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (priv->video_outgoing),
TRUE);
priv->outgoing_sink =
clutter_gst_video_sink_new (CLUTTER_TEXTURE (priv->video_outgoing));
video_preview_area = mx_stack_new ();
clutter_container_add (CLUTTER_CONTAINER (video_preview_area),
mex_telepathy_channel_create_static_image(),
priv->video_outgoing,
NULL);
mx_stylable_set_style_class (MX_STYLABLE (video_preview_area),
"PreviewStack");
clutter_actor_set_height (video_preview_area, 150.0);
clutter_actor_add_effect (video_preview_area,
CLUTTER_EFFECT (
mex_telepathy_channel_create_shadow ()));
priv->preview_area = mx_frame_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->preview_area),
"PreviewPadding");
mx_bin_set_child (MX_BIN (priv->preview_area), video_preview_area);
}
示例13: mex_volume_control_init
static void
mex_volume_control_init (MexVolumeControl *self)
{
MexVolumeControlPrivate *priv = self->priv = VOLUME_CONTROL_PRIVATE (self);
gchar *new_style_class;
MexPlayer *player;
MexMusicPlayer *music;
player = mex_player_get_default ();
priv->media = mex_player_get_clutter_media (player);
music = mex_music_player_get_default ();
priv->music = mex_music_player_get_clutter_media (music);
priv->volume = mx_button_new ();
mx_widget_set_disabled (MX_WIDGET (priv->volume), TRUE);
priv->vol_value = clutter_media_get_audio_volume (priv->media);
/* The media sound can also be changed from another process changint the
* stream audio with pulse audio, adjust the volume on those changes */
g_signal_connect (priv->media, "notify::audio-volume",
G_CALLBACK (on_audio_volume_changed), self);
g_signal_connect (priv->music, "notify::audio-volume",
G_CALLBACK (on_audio_volume_changed), self);
new_style_class = g_strdup_printf ("volume-%.0f", priv->vol_value * 10);
mx_stylable_set_style_class (MX_STYLABLE (priv->volume), new_style_class);
g_free (new_style_class);
mx_bin_set_child (MX_BIN (self), priv->volume);
}
示例14: main
int
main (int argc, char **argv)
{
const ClutterColor grey = { 0x40, 0x40, 0x40, 0xff };
ClutterActor *stage, *info_panel, *align;
MxApplication *app;
MxWindow *window;
MexFeed *feed;
MexProgram *program;
mex_init (&argc, &argv);
app = mx_application_new (&argc, &argv, "mex-info-panel-test", 0);
mex_style_load_default ();
window = mx_application_create_window (app);
stage = (ClutterActor *) mx_window_get_clutter_stage (window);
clutter_stage_set_color ((ClutterStage *) stage, &grey);
align = g_object_new (MX_TYPE_FRAME, "x-align", MX_ALIGN_MIDDLE,
"y-align", MX_ALIGN_END, NULL);
mx_window_set_child (window, align);
info_panel = mex_info_panel_new (MEX_INFO_PANEL_MODE_FULL);
mx_bin_set_child (MX_BIN (align), info_panel);
mx_window_set_has_toolbar (window, FALSE);
clutter_actor_set_size (stage, 1024, 768);
feed = mex_feed_new ("source", "title");
program = mex_program_new (feed);
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_MIMETYPE,
"video/mp4");
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_TITLE,
"The cats on the moon");
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_SYNOPSIS,
"An original title where cats are sent to the moon to catch all the mice which are naturally attracted there due to the large consistency of cheese, this results in a space race between NASA and CATSA, leading to war on the moon over territory claimed by cats");
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_STILL,
"http://farm5.static.flickr.com/4013/4305303148_5cbc986a44_m.jpg");
mex_content_view_set_content (MEX_CONTENT_VIEW (info_panel),
MEX_CONTENT (program));
clutter_actor_show (stage);
clutter_main ();
return 0;
}
示例15: mx_expander_get_preferred_height
static void
mx_expander_get_preferred_height (ClutterActor *actor,
gfloat for_width,
gfloat *min_height,
gfloat *pref_height)
{
MxExpanderPrivate *priv = MX_EXPANDER (actor)->priv;
ClutterActor *child;
MxPadding padding;
gfloat min_child_h, pref_child_h, min_label_h, pref_label_h, arrow_h;
gfloat available_w;
child = mx_bin_get_child (MX_BIN (actor));
mx_widget_get_padding (MX_WIDGET (actor), &padding);
available_w = for_width - padding.left - padding.right;
if (child)
{
clutter_actor_get_preferred_height (child,
available_w,
&min_child_h,
&pref_child_h);
min_child_h += priv->spacing;
pref_child_h += priv->spacing;
/* allocate the space multiplied by the progress of the "expansion"
* animation */
min_child_h *= priv->progress;
pref_child_h *= priv->progress;
}
else
{
min_child_h = 0;
pref_child_h = 0;
}
clutter_actor_get_preferred_height (priv->label,
available_w,
&min_label_h,
&pref_label_h);
clutter_actor_get_preferred_height (priv->arrow, -1, NULL, &arrow_h);
min_label_h = MAX (min_label_h, arrow_h);
pref_label_h = MAX (pref_label_h, arrow_h);
if (min_height)
*min_height = padding.top
+ min_child_h + min_label_h
+ padding.bottom;
if (pref_height)
*pref_height = padding.top
+ pref_child_h + pref_label_h
+ padding.bottom;
}