1 Star 0 Fork 0

墙外行人/gooxml

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
title.go 2.16 KB
一键复制 编辑 原始数据 按行查看 历史
墙外行人 提交于 2025-09-23 22:17 +08:00 . 替换
// Copyright 2017 Baliance. All rights reserved.
//
// Use of this source code is governed by the terms of the Affero GNU General
// Public License version 3.0 as published by the Free Software Foundation and
// appearing in the file LICENSE included in the packaging of this file. A
// commercial license can be purchased by contacting sales@baliance.com.
package chart
import (
"gitee.com/qwxren/gooxml/color"
"gitee.com/qwxren/gooxml/drawing"
"gitee.com/qwxren/gooxml/measurement"
"gitee.com/qwxren/gooxml/schema/soo/dml"
crt "gitee.com/qwxren/gooxml/schema/soo/dml/chart"
)
type Title struct {
x *crt.CT_Title
}
func MakeTitle(x *crt.CT_Title) Title {
return Title{x}
}
// X returns the inner wrapped XML type.
func (t Title) X() *crt.CT_Title {
return t.x
}
func (t Title) InitializeDefaults() {
t.SetText("Title")
t.RunProperties().SetSize(16 * measurement.Point)
t.RunProperties().SetSolidFill(color.Black)
t.RunProperties().SetFont("Calib ri")
t.RunProperties().SetBold(false)
}
func (t Title) SetText(s string) {
if t.x.Tx == nil {
t.x.Tx = crt.NewCT_Tx()
}
if t.x.Tx.Choice.Rich == nil {
t.x.Tx.Choice.Rich = dml.NewCT_TextBody()
}
var pr *dml.CT_TextParagraph
if len(t.x.Tx.Choice.Rich.P) == 0 {
pr = dml.NewCT_TextParagraph()
t.x.Tx.Choice.Rich.P = []*dml.CT_TextParagraph{pr}
} else {
pr = t.x.Tx.Choice.Rich.P[0]
}
var tr *dml.EG_TextRun
if len(pr.EG_TextRun) == 0 {
tr = dml.NewEG_TextRun()
pr.EG_TextRun = []*dml.EG_TextRun{tr}
} else {
tr = pr.EG_TextRun[0]
}
if tr.R == nil {
tr.R = dml.NewCT_RegularTextRun()
}
tr.R.T = s
}
func (t Title) ParagraphProperties() drawing.ParagraphProperties {
if t.x.Tx == nil {
t.SetText("")
}
if t.x.Tx.Choice.Rich.P[0].PPr == nil {
t.x.Tx.Choice.Rich.P[0].PPr = dml.NewCT_TextParagraphProperties()
}
return drawing.MakeParagraphProperties(t.x.Tx.Choice.Rich.P[0].PPr)
}
func (t Title) RunProperties() drawing.RunProperties {
if t.x.Tx == nil {
t.SetText("")
}
if t.x.Tx.Choice.Rich.P[0].EG_TextRun[0].R.RPr == nil {
t.x.Tx.Choice.Rich.P[0].EG_TextRun[0].R.RPr = dml.NewCT_TextCharacterProperties()
}
return drawing.MakeRunProperties(t.x.Tx.Choice.Rich.P[0].EG_TextRun[0].R.RPr)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/qwxren/gooxml.git
git@gitee.com:qwxren/gooxml.git
qwxren
gooxml
gooxml
v1.0.17-alpha

搜索帮助